在 SQL Server 上安裝 SSMA 元件 (OracleToSQL)
除了安裝 SSMA 之外,您也必須在執行 SQL Server 的電腦上安裝元件。 這些元件包括支援資料移轉的 SSMA 擴充套件以及 Oracle 提供者,以啟用伺服器對伺服器的連線能力。
SSMA for Oracle 擴充功能套件
SSMA 擴充套件會部署擴充預存程序,並將 sysdb 資料庫新增至指定的 SQL Server 執行個體。 擴充預存程序提供模擬 Oracle 功能和行為所需的功能,而 sysdb 資料庫則包含移轉資料所需的資料表和預存程序。
此外,當您將資料移轉至 SQL Server 時,SSMA 會在伺服器端資料移轉引擎用於移轉資料時,建立 SQL Server Agent 作業。
必要條件
在 SQL Server 上安裝 SSMA for Oracle 伺服器元件之前,請確定系統符合下列需求:
已安裝 SQL Server 執行個體。
Microsoft Windows Installer 3.1 或更新版本。
Microsoft .NET Framework 4.7.2 版或更新版本。 您可以從 .NET Framework 開發人員中心取得。
如果使用 OLE DB,則為 Oracle 的 OLE DB 提供者,以及連線至您要移轉之 Oracle 資料庫的能力。 您可以從 Oracle 產品媒體或 Oracle 網站安裝提供者。
安裝期間,SQL Server Browser 服務必須處於執行狀態。 這可用來填入安裝精靈中 SQL Server 執行個體的清單。 安裝之後,您可以停用 SQL Server Browser 服務。
注意
如果 SQL Server Browser 服務正在執行,但您仍然看不到安裝程式中的執行個體清單,您必須解除封鎖 UDP 連接埠 1434。 您可以使用 Windows 防火牆暫時解除封鎖連接埠,也可以暫時停用 Windows 防火牆。 您也可能必須暫時停用防毒軟體。 請務必在安裝後啟用防火牆和防毒軟體。
安裝擴充套件
您可以在將資料移轉至 SQL Server 之前,隨時安裝擴充功能套件。
重要
若要安裝擴充套件,您必須是 SQL Server 執行個體上 sysadmin 伺服器角色的成員。
若要安裝擴充套件:
將 SSMAforOracleExtensionPack_n.msi(其中 n 為組建編號) 複製到執行 SQL Server 的電腦。
按兩下 SSMAforOracleExtensionPack_n.msi。
在 [歡迎] 頁面中按 [下一步]。
閱讀 [使用者授權合約] 頁面上的授權合約。 如果您同意,請選取 [我接受授權合約] 選項,然後按一下 [下一步]。
在 [選擇設定類型] 頁面,選取 [一般]。
在 [已可安裝] 頁面上,選取 [安裝] 。
在 [已完成安裝的第一個步驟] 頁面上,選取 [下一步]。
一個對話方塊隨即出現。 選取延伸模組套件類型。
選取想要的安裝類型,然後按一下 [下一步]。
重要
只有在 Linux 上執行的 SQL Server 或以 Azure SQL 受控執行個體為目標時,才應該使用遠端選項。 在 Windows 上執行的 SQL Server 安裝應該一律在本機安裝擴充功能套件。 Azure SQL Database 和 Azure Synapse Analytics 不支援擴充功能套件。
如果您要在本機 SQL Server 執行個體上安裝擴充功能套件,下一頁可讓您選擇將移轉 Oracle 結構描述的本機 SQL Server 執行個體。 在下拉式清單中選擇執行個體,然後選取 [下一步]。
預設執行個體的名稱與電腦相同。 具名執行個體後面接著反斜線和執行個體名稱。
在連線頁面上,選取驗證方法,然後按 [下一步]。
Windows 驗證會使用您的 Windows 認證嘗試登入 SQL Server 執行個體。 如果您選取 [SQL Server 驗證],則必須輸入 SQL Server 登入名稱與密碼。
下一個步驟會要求您設定主要金鑰的密碼,才能在伺服器端資料移轉期間用來加密儲存在擴充套件資料庫中的任何敏感性資料。 提供強式密碼,然後按一下 [下一步]。
在下一個頁面上,選取 [安裝公用程式資料庫 n 和 安裝擴充功能套件程式庫],其中 n 是版本號碼,然後按一下 [下一步]。
此資料庫建立之資料移轉 (使用伺服器端移轉引擎) 所需的資料表和預存程序可建立 sysdb 資料庫。
安裝完成後會出現提示,詢問您是否要在 SQL Server 的另一個執行個體上安裝公用程式資料庫,選取 [是],然後選取 [下一步],或者結束精靈,選取 [否],然後選取 [結束]。
在 SQL Server Management Studio 或使用
sqlcmd
公用程式,執行下列指令碼以啟用 CLR:sp_configure 'clr enabled', 1 GO RECONFIGURE GO
如果未啟用 CLR,當 SSMA 連線到 SQL Server 時,您會收到下列錯誤:
SSMA 無法擷取擴充套件元件版本資訊。 重新安裝資料庫伺服器上的擴充功能套件。
SQL Server 資料庫物件
安裝擴充套件之後,ssma_oracle.bcp_migration_packages 資料表會出現在 sysdb 資料庫中。
每次將資料移轉至 SQL Server 時,SSMA 都會建立 SQL Server Agent 作業。 這些作業會命名為 ssma_oracle 資料移轉套件 {GUID},而且會顯示在 [作業] 資料夾中 SQL Server Management Studio 的 SQL Server Agent 節點中。
此外,也會將下列擴充預存程序新增至 master 資料庫:
xp_ora2ms_exec2
xp_ora2ms_exec2_ex
xp_ora2ms_versioninfo2