SQL Serverに SSMA コンポーネントをインストールする (OracleToSQL)

SQL Server Migration Assistant (SSMA) のインストールに加えて、SQL Serverを実行するコンピューターにもコンポーネントをインストールする必要があります。 これらのコンポーネントには、データ移行をサポートする SSMA 拡張機能パックと、サーバー間接続を有効にする Oracle プロバイダーが含まれます。

SSMA for Oracle 拡張機能パック

SSMA 拡張パックは拡張ストアド プロシージャをデプロイし、sysdb データベースを指定したSQL Serverインスタンスに追加します。 拡張ストアド プロシージャは、Oracle の機能と動作をエミュレートするために必要な機能を提供しますが、 sysdb データベースには、データの移行に必要なテーブルとストアド プロシージャが含まれています。

拡張ストアド プロシージャは、SQL Serverでは非推奨となり、今後のバージョンで削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 代わりに 共通言語ランタイム (CLR) プロシージャを作成します

また、データを SQL Server に移行する場合、SSMA は、サーバー側のデータ移行エンジンを使用してデータを移行するときに、SQL Server エージェント ジョブを作成します。

[前提条件]

SSMA for Oracle サーバー コンポーネントを SQL Server にインストールする前に、システムが次の要件を満たしていることを確認します。

  • Windows 11以降のバージョン、またはWindows Server 2022以降のバージョン。

  • .NET Framework バージョン 4.7.2 以降のバージョン。 .NET Framework をダウンロードします

  • SQL Server インスタンスがインストールされています。

  • OLE DB プロバイダー (Oracle 用)(OLE DB を使用している場合)、移行する Oracle データベースへの接続性。 プロバイダーは、Oracle 製品メディアまたは Oracle Web サイトからインストールできます。

    Important

    SSMA 拡張パック拡張ストアド プロシージャは、 UTF-8 サーバー照合順序 ( Latin1_General_100_CI_AI_SC_UTF8 など) と互換性がありません。 SSMA で生成された関数は、内部 ODBC ドライバーが従来の LOB 型にマップする varchar(max) として出力パラメーターを宣言します。 UTF-8 照合順序を使用するサーバーでは、 master データベースも UTF-8 を使用するため、拡張ストアド プロシージャからのループバック呼び出しが失敗します。 ODBC Driver 17 では、このエラーが発生すると、自動的に間違った結果が生成されます。 ODBC Driver 18 では、 Cannot convert to text/ntext or collate to 'Latin1_General_100_CI_AI_SC_UTF8'というエラーが表示されます。 サーバーで UTF-8 照合順序が使用されている場合は、SSMA 拡張パックの拡張ストアド プロシージャに依存しないでください。

  • SQL Server Browser サービスは、インストール中に実行されている必要があります。 サービスは、セットアップ ウィザードでSQL Serverのインスタンスの一覧を設定します。 インストール後に SQL Server Browser サービスを無効にすることができます。

    SQL Server Browser サービスが実行されていても、セットアップにインスタンスの一覧が表示されない場合は、UDP ポート 1434 のブロックを解除する必要があります。 Windows ファイアウォールを使用してポートのブロックを一時的に解除するか、Windows ファイアウォールを一時的に無効にすることができます。 ウイルス対策ソフトウェアを一時的に無効にする必要がある場合もあります。 インストール後は、ファイアウォールとウイルス対策ソフトウェアを有効にしてください。

拡張機能パックをインストールする

SQL Serverにデータを移行する前に、いつでも拡張機能パックをインストールできます。

Important

拡張機能パックをインストールするには、SQL Serverのインスタンスの sysadmin 固定サーバー ロールのメンバーである必要があります。

拡張機能パックをインストールするには:

  1. SSMAforOracleExtensionPack_<n>.msi (ビルド番号<n>) を、SQL Serverを実行しているコンピューターにコピーします。

  2. MSI をダブルクリックして実行します。

  3. [ようこそ] ページで [次へ] をクリックします。

  4. [ End-User 使用許諾契約書 ] ページで、使用許諾契約書を読みます。 同意する場合は、[ 同意する] を選択し、[ 次へ] を選択します。

  5. [ セットアップの種類の選択 ] ページで、[ 標準] を選択します。

  6. [インストールの準備完了] ページで、 [インストール]を選択します。

  7. [ インストールの最初のステップの完了 ] ページで、[ 次へ] を選択します。

    新しいダイアログ ボックスが表示されます。 拡張パックの種類を選択します。

  8. 目的のインストールの種類を選択し、[ 次へ] を選択します。

    Important

    リモート オプションは、Linux で実行されているSQL Serverに拡張機能パックをインストールする場合、またはAzure SQL Managed Instanceをターゲットにしている場合にのみ使用します。 Windowsで実行されているSQL Serverインストールの場合は、常に拡張機能パックをローカルにインストールします。 Azure SQL DatabaseとAzure Synapse Analyticsは拡張機能パックをサポートしていません。

    ローカル SQL Server インスタンスに拡張機能パックをインストールする場合は、Oracle スキーマを移行するSQL Serverのローカル インスタンスを選択できます。 ドロップダウン リストでインスタンスを選択し、[ 次へ] を選択します。

    既定のインスタンスの名前はコンピューターと同じです。 名前付きインスタンスには、後ろにバックスラッシュとインスタンス名が続きます。

  9. 接続ページで、認証方法を選択し、[ 次へ] を選択します。

    Windows 認証では、Windows 資格情報を使用して SQL Server のインスタンスへのサインインを試みます。 [サーバー認証] を選択した場合は、SQL Server ログイン名とパスワードを入力する必要があります。

  10. 次の手順では、サーバー側のデータ移行中に拡張パック データベースに格納されている機密データを暗号化するマスター キーのパスワードを設定する必要があります。 強力なパスワードを入力し、[次へ] をクリックします。

  11. 次のページで、[ Install Utilities Database n ]\(ユーティリティ データベース n\) と [Install Extension Pack libraries]\(拡張機能パック ライブラリのインストール\) ( n はバージョン番号) を選択し、[ 次へ] を選択します。

    テーブルを使用して sysdb データベースが作成され、データ移行に必要なストアド プロシージャがこのデータベースに作成されます (サーバー側のデータ移行エンジンを使用)。

  12. インストールが完了すると、SQL Serverの別のインスタンスに Utilities Database をインストールするかどうかを確認するプロンプトが表示されます。 [ はい] を選択し、[ 次へ] を選択します。 ウィザードを終了するには、[ いいえ ] を選択し、[終了] を選択 します

  13. SQL Server Management Studio または sqlcmd ユーティリティを使用して、次のスクリプトを実行して CLR を有効にします。

    EXECUTE sp_configure 'clr enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    

    CLR が有効になっていない場合、SSMA がSQL Serverに接続すると、次のエラーが表示されます。

    SSMA could not retrieve the extension pack assembly version information. Reinstall the extension pack on the database server.
    

SQL Server データベース オブジェクト

拡張機能パックをインストールすると、ssma_oracle.bcp_migration_packages データベースに sysdb テーブルが表示されます。

SQL Server にデータを移行するたびに、SSMA によって SQL Server エージェント ジョブが作成されます。 これらのジョブはssma_oracle data migration package {GUID}という名前で、ジョブ フォルダーの SQL Server Management Studio の SQL Server エージェント ノードに表示されます。

master データベースには、次の拡張ストアド プロシージャが追加されます。

  • xp_ora2ms_exec2
  • xp_ora2ms_exec2_ex
  • xp_ora2ms_versioninfo2