次の方法で共有


SQL Server への接続 (OracleToSQL)

Oracle データベースを SQL Server に移行するには、SQL Server のターゲット インスタンスに接続する必要があります。 接続すると、Microsoft SQL Server Migration Assistant (SSMA) for Oracle は、SQL Server インスタンス内のすべてのデータベースに関するメタデータを取得し、SQL Server メタデータ エクスプローラーにデータベース メタデータを表示します。 SSMA には、接続先の SQL Server のインスタンスに関する情報が格納されますが、パスワードは格納されません。

SQL Server への接続は、プロジェクトを閉じるまでアクティブなままです。 プロジェクトを再度開くときに、サーバーへのアクティブな接続が必要な場合は、SQL Server に再接続する必要があります。 データベース オブジェクトを SQL Server に読み込んでデータを移行するまで、オフラインで作業できます。

SQL Server のインスタンスに関するメタデータは自動的には同期されません。 SQL Server メタデータ エクスプローラーでメタデータを更新するには、SQL Server メタデータを手動で更新する必要があります。 詳細については、この記事で後述する 「SQL Server メタデータの同期 」セクションを参照してください。

必要なSQL Serverアクセス許可

SQL Server への接続に使用されるアカウントには、アカウントが実行するアクションに応じて異なるアクセス許可が必要です。

次のアクションを実行するには、アカウントに SQL Server のインスタンスにサインインするためのアクセス許可が必要です。

  • Oracle オブジェクトを Transact-SQL 構文に変換するには
  • SQL Server からメタデータを更新するには
  • 変換された構文をスクリプトに保存するには

SQL Server にデータベース オブジェクトを読み込むには、アカウントが db_ddladmin データベース ロールのメンバーである必要があります。

SQL Server にデータを移行するには、次のアカウントが必要です。

  • クライアント側のデータ移行エンジンを使用している場合は、 db_owner データベース ロールのメンバー。

  • サーバー側のデータ移行エンジンを使用している場合は、 sysadmin サーバー ロールのメンバー。 このサーバー ロールは、SSMA 一括コピー ツールを実行するために、データ移行中に SQL Server エージェントの CmdExec ジョブ ステップを作成するために必要です。

    SQL Server エージェント プロキシ アカウントは、サーバー側のデータ移行ではサポートされていません。

  • SSMA によって生成されるコードを実行するには、ターゲット データベースのEXECUTE スキーマ内のすべてのユーザー定義関数に対するssma_oracleアクセス許可がアカウントに必要です。 これらの関数は、Oracle システム関数と同等の機能を提供し、変換されたオブジェクトによって使用されます。

SQL Server 接続を確立する

Oracle データベース オブジェクトを SQL Server 構文に変換する前に、Oracle データベースまたはデータベースを移行する SQL Server のインスタンスへの接続を確立する必要があります。

接続プロパティを定義するときは、オブジェクトとデータを移行するデータベースも指定します。 このマッピングは、SQL Server に接続した後、Oracle スキーマ レベルでカスタマイズできます。 詳細については、「 Oracle スキーマを SQL Server スキーマにマップする」を参照してください。

Von Bedeutung

SQL Server に接続する前に、SQL Server のインスタンスが実行されており、接続を受け入れることを確認してください。

SQL Server インスタンスに接続するには:

  1. [ ファイル ] メニューの [ SQL Server への接続] を選択します。 以前に SQL Server に接続した場合、コマンド名は [SQL Server に再接続] です

  2. 接続ダイアログで、SQL Server のインスタンスの名前を入力または選択します。

    • ローカル コンピューター上の既定のインスタンスに接続している場合は、 localhost またはドット (.) を入力できます。
    • 別のコンピューターの既定のインスタンスに接続している場合は、コンピューターの名前を入力します。
    • 別のコンピューター上の名前付きインスタンスに接続する場合は、コンピューター名の後に円記号、インスタンス名 (例: MyServer\MyInstance) を入力します。
  3. SQL Server のインスタンスが既定以外のポートで接続を受け入れるように構成されている場合は、[サーバー ポート] ボックスに SQL Server 接続に使用される ポート 番号を入力します。 SQL Server の既定のインスタンスの場合、既定のポート番号は 1433。 名前付きインスタンスの場合、SSMA は SQL Server Browser サービスからポート番号を取得しようとします。

  4. [ データベース ] ボックスに、ターゲット データベースの名前を入力します。 このオプションは、SQL Server に再接続するときに使用できません。

  5. [ 認証 ] ボックスで、接続に使用する認証の種類を選択します。 現在の Windows アカウントを使用するには、[ Windows 認証] を選択します。 SQL Server ユーザー名を使用するには、[ SQL Server 認証] を選択し、ユーザー名とパスワードを指定します。

  6. セキュリティで保護された接続の場合、[ 接続の暗号化 ] チェックボックスと [ TrustServerCertificate ] チェックボックスを使用して 2 つのコントロールを追加できます。 TrustServerCertificate オプションは、[接続の暗号化] を選択した後にのみ表示されます。 [接続の暗号化] がオン (値が true) で、TrustServerCertificate がオフ (falseの値) の場合、SQL Server SSL 証明書が検証されます。 サーバー証明書の検証は SSL ハンドシェイクの一部であり、正しいサーバーに確実に接続できます。 このプロセスが確実に機能するためには、クライアント側とサーバー側の両方に証明書をインストールする必要があります。

  7. を選択し、に接続します。」

Von Bedeutung

移行プロジェクトの作成時に選択したバージョンと比較して、新しいバージョンの SQL Server に接続できます。 データベース オブジェクトの変換は、接続先の SQL Server のバージョンではなく、プロジェクトのターゲット バージョンによって決まります。

SQL Server メタデータの同期

SQL Server データベースに関するメタデータは自動的に更新されません。 SQL Server メタデータ エクスプローラーのメタデータは次のいずれかです。

  • SQL Server に初めて接続したときに存在していたメタデータのスナップショット。
  • 最後に手動でメタデータを更新した際に入力したメタデータのスナップショット。

すべてのデータベースのメタデータ、または任意の単一データベースまたはデータベース オブジェクトのメタデータを手動で更新できます。 メタデータを同期するには:

  1. SQL Server に接続していることを確認します。

  2. SQL Server メタデータ エクスプローラーで、更新するデータベースまたはデータベース スキーマの横にあるチェック ボックスをオンにします。 たとえば、すべてのデータベースのメタデータを更新するには、[データベース] の横にあるボックスを選択 します

  3. [ データベース]、または個々のデータベースまたはデータベース スキーマを右クリックし、[ データベースと同期]を選択します。