次の方法で共有


SQL Server への接続 (MySQLToSQL)

MySQL データベースを SQL Server に移行するには、SQL Server のターゲット インスタンスに接続する必要があります。 接続すると、SSMA は 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 への接続に使用されるアカウントには、アカウントが実行するアクションに応じて異なるアクセス許可が必要です。

  • MySQL オブジェクトを Transact-SQL 構文に変換したり、SQL Server からメタデータを更新したり、変換された構文をスクリプトに保存したりするには、アカウントに SQL Server のインスタンスにログオンするためのアクセス許可が必要です。

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

  • SQL Server にデータを移行するには、次を満たす必要があります。

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

      注意

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

SQL Server 接続の確立

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

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

重要

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. [認証] ボックスで、接続に使用する認証の種類を選びます。 現在の Windows アカウントを使用するには、[Windows 認証] を選びます。 SQL Server ログインを使用する場合は、[SQL Server 認証] を選択し、ログイン名とパスワードを指定します。

  5. セキュリティ保護接続の場合、[接続の暗号化] チェック ボックスと [TrustServerCertificate] チェック ボックスの 2 つの制御が追加されます。 [接続の暗号化] がオンになっている場合にのみ、[TrustServerCertificate] チェック ボックスが表示されます。 [接続の暗号化] がオン (true) で、[TrustServerCertificate] がオフ (false) の場合、SQL Server SSL 証明書が検証されます。 サーバー証明書の検証は、SSL ハンドシェイクの一部であり、接続先のサーバーが適切なサーバーであることを保証します。 これを確実に行うには、クライアント側とサーバー側に証明書をインストールする必要があります。

  6. [接続] をクリックします。

重要

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

SQL Server メタデータの同期

SQL Server データベースに関するメタデータは自動的には更新されません。 SQL Server メタデータ エクスプローラーのメタデータは、最初に SQL Server に接続したとき、またはメタデータを最後に手動で更新したときのメタデータのスナップショットです。 すべてのデータベースのメタデータ、または任意の単一データベースまたはデータベース オブジェクトのメタデータを手動で更新できます。 メタデータを同期するには

  1. SQL Server に接続していることを確認してください。

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

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

次の手順

移行の次の手順は、プロジェクトの要件によって異なります。

次も参照ください。

MySQL データベースを SQL Server - Azure SQL Database への移行 (MySQLToSQL)