SQL Server への変換されたデータベース オブジェクトの読み込み (MySQLToSQL)

MySQL データベース オブジェクトを SQL Server または SQL Azure に変換したら、変換後のデータベース オブジェクトを SQL Server または SQL Azure に読み込むことができます。 SSMA でオブジェクトを作成することも、オブジェクトのスクリプトを作成してスクリプトを自分で実行することもできます。 また、SSMA では、SQL Server または Azure SQL データベース の実際のコンテンツを使用してターゲット メタデータを更新できます。

同期とスクリプトの選択

変換されたデータベース オブジェクトを変更せずに SQL Server または SQL Azure に読み込む場合は、SSMA でデータベース オブジェクトを直接作成または再作成することができます。 その方法は時間がかからず簡単ですが、SQL Server または SQL Azure オブジェクトを定義する Transact-SQL コードをカスタマイズすることはできません。

オブジェクトの作成に使用する Transact-SQL を変更する場合、またはオブジェクトの作成をより詳細に制御する場合は、SSMA を使用してスクリプトを作成します。 その後、これらのスクリプトを変更したり、各オブジェクトを個別に作成したり、さらには、SQL Server エージェントを使用してこれらのオブジェクトの作成をスケジュールしたりすることができます。

SSMA を使用してオブジェクトを SQL Server と同期する

SSMA を使用して SQL Server または Azure SQL データベース オブジェクトを作成するには、次の手順に示すように、SQL Server または SQL Azure メタデータ エクスプローラーでオブジェクトを選択し、そのオブジェクトを SQL Server または SQL Azure と同期します。 既定では、オブジェクトが SQL Server または SQL Azure に既に存在し、SSMA メタデータにローカルの変更やそれらのオブジェクトの定義の更新がある場合、SSMA は SQL Server または SQL Azure のオブジェクト定義を変更します。 プロジェクト設定を編集することで、既定の動作を変更できます。

注意

MySQL データベースから変換されなかった既存の SQL Server または Azure SQL データベース オブジェクトを選択できます。 ただし、これらのオブジェクトは SSMA によって再作成または変更されることはありません。

オブジェクトを SQL Server または SQL Azure と同期するには
  1. SQL Server または SQL Azure メタデータ エクスプローラーで、SQL Server または SQL Azure の最上位ノードを展開し、[データベース] を展開します。

  2. 処理するオブジェクトを選びます。

    • データベース全体を同期するには、データベース名の横にあるチェック ボックスを選択します。

    • 個々のオブジェクトまたはカテゴリ別のオブジェクトを同期または省略するには、オブジェクトまたはフォルダーの横にあるチェック ボックスを選択または選択解除します。

  3. SQL Server または SQL Azure メタデータ エクスプローラーで処理するオブジェクトを選択したら、[データベース] を右クリックし、[データベースとの同期] をクリックします。

    オブジェクトまたはその親フォルダーを右クリックし、[データベースとの同期] をクリックして、個々のオブジェクトまたはカテゴリ別のオブジェクトを同期することもできます。

    その後、SSMA に [データベースとの同期] ダイアログが表示され、2 つの項目グループが表示されます。 SSMA の左側には、選択したデータベース オブジェクトがツリーで表されます。 右側には、SSMA メタデータ内の同じオブジェクトを表すツリーが表示されます。 ツリーを展開するには、右または左の [+] ボタンをクリックします。 同期の方向は、2 つのツリーの間に配置されている [操作] 列に表示されます。

    操作記号には、次の 3 つの状態があります。

    • 左矢印は、メタデータの内容がデータベースに保存されることを意味します (既定)。

    • 右矢印は、データベースの内容によって SSMA メタデータが上書きされることを意味します。

    • 十字サインは、何も行われないことを意味します。

    • アクション 記号を選んで状態を変更します。 [データベースとの同期] ダイアログの [OK] ボタンをクリックすると、実際の同期が実行されます。

オブジェクト のスクリプト化

データベース オブジェクトの Transact-SQL 定義を保存する場合、またはオブジェクト定義を変更してスクリプトを自分で実行する場合は、変換されたデータベース オブジェクト定義を Transact-SQL スクリプトに保存できます。

オブジェクトをスクリプトとして保存するには

  1. スクリプトに保存するオブジェクトを選択したら、[データベース] を右クリックし、[スクリプトとして保存] をクリックします。

    オブジェクトまたはそのフォルダーを右クリックし、[スクリプトの保存] をクリックして、個々のオブジェクトまたはオブジェクトの親フォルダーをスクリプト化することもできます。

  2. [名前を付けて保存] ダイアログ ボックスで、スクリプトを保存するフォルダーを探し、[ファイル名] ボックスにファイル名を入力して、[OK] を選択します。 SSMA では、.sql ファイル名拡張子がアペンドされます。

スクリプトの変更

SQL Server または SQL Azure のオブジェクト定義をスクリプトとして保存したら、SQL Server Management Studio を使用してスクリプトを変更できます。

スクリプトを変更するには

  1. Management Studio で、[ファイル] メニューの [開く] をポイントし、[ファイル] をクリックします。

  2. [開く] ダイアログ ボックスで、スクリプト ファイルに移動して選択し、[OK] をクリックします。

  3. クエリ エディターを使用して、スクリプト ファイルを編集します。クエリ エディターについての詳細は、SQL Server オンライン ブックの「エディターの便利なコマンドと機能」を参照してください。

  4. レポートを保存するには、[ファイル] タブで [保存] を選びます。

スクリプトの実行

SQL Server Management Studio では、スクリプトまたは個々のステートメントを実行できます。

スクリプトを実行するには

  1. SQL Server Management Studio で、[ファイル] メニューの [開く] をポイントし、[ファイル] をクリックします。

  2. [開く] ダイアログ ボックスで、スクリプト ファイルに移動して選択し、[OK] をクリックします。

  3. 完全なスクリプトを実行するには、F5 キーを押します。

  4. ステートメントのセットを実行するには、クエリ エディター ウィンドウでステートメントを選択し、F5 キーを押します。

  5. クエリ エディターを使用してスクリプトを実行する方法の詳細は、SQL Server オンライン ブックの「SQL Server Management Studio Transact-SQL クエリ」を参照してください。

  6. sqlcmd ユーティリティと SQL Server エージェントを使用して、コマンド ラインからスクリプトを実行することもできます。 sqlcmd についての詳細は、SQL Server オンライン ブックの「sqlcmd ユーティリティ」を参照してください。 SQL Server エージェントの詳細は、SQL Server オンライン ブックの「管理タスクの自動化 (SQL Server エージェント)」を参照してください。

SQL Server でのオブジェクトのセキュリティ保護

変換されたデータベース オブジェクトを SQL Server に読み込んだ後、これらのオブジェクトに対するアクセス許可を付与と拒否できます。 SQL Server にデータを移行する前に、これを行うことをお勧めします。 SQL Server でオブジェクトをセキュリティで保護する方法については、SQL Server オンライン ブックの「データベースとデータベース アプリのセキュリティに関する考慮事項」を参照してください。

次の手順

移行プロセスの次の手順は、MySQL データを SQL Server - Azure SQL データベース (MySQLToSQL) に移行することです。

次も参照ください。

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