SQL Server での SSMA コンポーネントのインストール (OracleToSQL)
SSMA のインストールに加えて、SQL Server を実行しているコンピューターにもコンポーネントをインストールする必要があります。 これらのコンポーネントには、データ移行をサポートする SSMA 拡張機能パックと、サーバー間接続を有効にする Oracle プロバイダーが含まれます。
SSMA for Oracle 拡張機能パック
SSMA 拡張パックは、拡張ストアド プロシージャをデプロイし、指定された SQL Server インスタンスに sysdb データベースを追加します。 拡張ストアド プロシージャは、Oracle の機能と動作をエミュレートするために必要な機能を提供します が、sysdb データベースには、データの移行に必要なテーブルとストアド プロシージャが含まれています。
また、データを SQL Server に移行する場合、SSMA は、サーバー側のデータ移行エンジンを使用してデータを移行するときに、SQL Server エージェント ジョブを作成します。
前提条件
SSMA for Oracle サーバー コンポーネントを SQL Server にインストールする前に、システムが次の要件を満たしていることを確認します。
SQL Server インスタンスがインストールされています。
Microsoft Windows インストーラー 3.1 以降のバージョン。
Microsoft .NET Framework バージョン 4.7.2 またはそれ以降。 これは、.NET Framework デベロッパー センターから入手できます。
OLE DB プロバイダー for Oracle (OLE DB を使用している場合)、移行する Oracle データベースへの接続。 プロバイダーは、Oracle 製品メディアまたは Oracle Web サイトからインストールできます。
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 をダブルクリックします。
[ようこそ] ページで [次へ] をクリックします。
[使用許諾契約書] ページで、表示された使用許諾契約書を読みます。 同意する場合は、[同意する] を選択し、[次へ] をクリックします。
[セットアップの種類の選択] ページで、[標準] を選択します。
[インストールの準備完了] ページで、 [インストール]を選択します。
[インストールのステップ1を完了] ページで [次へ] を選択します。
新しいダイアログが表示されます。 拡張パックの種類を選択します。
ンストールの種類を選択し、[次へ] をクリックします。
重要
リモート オプションは、Linux 上で実行されている SQL Server に拡張機能パックをインストールする場合、または Azure SQL Managed Instance を対象とする場合にのみ使用してください。 Windows で実行されている SQL Server のインストールには、常に拡張機能パックがローカルにインストールされている必要があります。 Azure SQL Database と Azure Synapse Analytics では、bcp のみサポートされます。
ローカル SQL Server インスタンスに拡張機能パックをインストールする場合は、次のページで、Oracle スキーマの移行先となる SQL Server のローカル インスタンスを選択できます。 ドロップダウンでインスタンスを選択し、[次へ] を選択します。
既定のインスタンスにはコンピューターと同じ名前が付けられています。 名前付きインスタンスには、後ろにバックスラッシュとインスタンス名が続きます。
[接続] ページで、認証方法を選択し、[次へ] を選択します。
Windows 認証では、Windows 資格情報を使用して 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, Databases Object
拡張機能パックをインストールすると、sysdb データベースに ssma_syb.bcp_migration_packages テーブルが表示されます。
SQL Server にデータを移行するたびに、SSMA によって SQL Server エージェント ジョブが作成されます。 これらのジョブは、ssma_oracle データ移行パッケージ {GUID} という名前が付けられ、SQL Server Management Studio の [ジョブ] フォルダーの SQL Server エージェント ノードに表示されます。
さらに、次の拡張ストアド プロシージャは、 master データベースにのみ追加できます。
xp_ora2ms_exec2
xp_ora2ms_exec2_ex
xp_ora2ms_versioninfo2