MySQL データの SQL Server への移行 - Azure SQL Database (MySQLToSQL)
変換されたオブジェクトを SQL Server または SQL Azure と正常に同期したら、MySQL から SQL Server または SQL Azure にデータを移行できます。
重要
使用されているエンジンがサーバー側のデータ移行エンジンである場合、データを移行する前に、SSMA を実行しているコンピューターに SSMA for MySQL Extension Pack と MySQL プロバイダーをインストールする必要があります。 SQL Server エージェント サービスも実行されている必要があります。 拡張機能パックをインストールする方法の詳細については、「SQL Server での SSMA コンポーネントのインストール (MySQL から SQL)」を参照してください
Note
Microsoft Entra ID はAzure Active Directory (Azure AD) の新しい名前ですが、既存の環境の中断を防ぐために、UI フィールド、接続プロバイダー、エラー コード、コマンドレットなど、ハードコーディングされた一部の要素でAzure AD が残ります。 この記事では、2 つの名前は交換可能です。
移行オプションの設定
SQL Server または SQL Azure にデータを移行する前に、[プロジェクトの設定] ダイアログ ボックスでプロジェクトの移行オプションを確認します。
このダイアログ ボックスを使用することで、移行バッチ サイズ、テーブル ロック、制約チェック、null 値の処理、ID 値の処理などのオプションを設定できます。 プロジェクトの移行設定の詳細については、「プロジェクト設定 (移行)」を参照してください。
拡張データ移行の設定についての詳細は、「データ移行設定」を参照してください。
[プロジェクト設定] ダイアログ ボックスの [移行エンジン] を使用すると、次の 2 種類のデータ移行エンジンを使用して移行プロセスを実行できます。
クライアント側のデータ移行エンジン
サーバー側のデータ移行エンジン
クライアント側データの移行:
クライアント側のデータ移行を開始するには、 [Project Settings] (プロジェクトの設定) ダイアログ ボックスで [Client Side Data Migration Engine](クライアント側のデータ移行エンジン) オプションを選択します。
既定では、[Project Settings] (プロジェクト設定) で[Client Side Data Migration Engine] (クライアント側のデータ移行エンジン) オプションが設定されています。
Note
クライアント側のデータ移行エンジンは SSMA アプリケーション内に存在するため、拡張機能パックの可用性に依存しません。
サーバー側データの移行:
サーバー側のデータ移行中、エンジンはターゲットのデータベースに存在します。 拡張機能パックを使用することで、エンジンがインストールされます。 拡張機能パックをインストールする方法の詳細については、「SQL Server での SSMA コンポーネントのインストール (MySQL から SQL)」を参照してください
サーバー側でデータ移行を開始するには、[プロジェクトの設定] ダイアログ ボックスで [サーバー側のデータ移行エンジン] オプションを選びます。
重要
クライアント側のデータ移行 オプションは、SQL Azure でのみ使用できます。
SQL Server または Azure SQL データベース へのデータ移行
データの移行とは、トランザクション内でデータの行を ASE テーブルから SQL Server に移動する一括読み込み操作のことです。 各トランザクションで SQL Server に読み込まれる行数は、プロジェクトの設定で構成されます。
移行メッセージを表示するには、[Output] (出力) ウィンドウが表示されていることを確認します。 [View] (表示) メニューの [Output] (出力) を選択します。
データを移行するには
次の点を確認します。
ASE プロバイダーが、SSMA を実行しているコンピューターにインストールされている。
変換されたオブジェクトとターゲット データベース (SQL Server または Azure SQL データベース) との同期が完了している。
MySQL メタデータ エクスプローラーで、移行するデータを含むオブジェクトを選びます。
すべてのスキーマのデータを移行するには、[Schema] (スキーマ) の横にあるチェック ボックスをオンにします。
個々のテーブルからデータを移行するには、データベースを展開し、 [Tables] (テーブル) を展開して、テーブルの横にあるチェック ボックスをオンにします。
データを移行するには、次の 2 つのケースが発生します。
クライアント側データの移行:
- クライアント側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [Client Side Data Migration Engine]\(クライアント側のデータ移行エンジン\) オプションを選びます。
サーバー側データの移行:
サーバー側でデータ移行を実行する前に、次のことを確保します。
SSMA for MySQL Extension Pack が、SQL Server のインスタンスにインストールされている。
SQL Server エージェント サービスが、SQL Server のインスタンスで実行されている。
サーバー側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [サーバー側のデータ移行エンジン] オプションを選びます。
MySQL メタデータ エクスプローラーで MySQL スキーマを右クリックし、[データの移行] を選びます。 個々のオブジェクトまたはオブジェクトのカテゴリのデータを移行することもできます。オブジェクトまたはその親フォルダーを右クリックします。[データの移行] オプションを選びます。
Note
SSMA for MMySQL 拡張機能パックが SQL Server のインスタンスにインストールされておらず、[Server Side Data Miration Engine] (サーバー側データ移行エンジン) が選択されている場合、ターゲット データベースへのデータの移行中に、次のエラーが発生します。「SQL Server に SSMA データ移行コンポーネントが見つかりません。サーバー側のデータ移行はできません。 拡張機能パックが正しくインストールされていることを確認してください」。 [Cancel] (キャンセル) をクリックしてデータ移行を終了します。
[Sybase ASE への接続] ダイアログ ボックスで接続資格情報を入力し、[接続]をクリックします。 MySQL への接続の詳細については、「MySQL への接続 (MySQLToSQL)」を参照してください 。
ターゲット データベースが SQL Server の場合は、[SQL Server への接続] ダイアログ ボックスに接続資格情報を入力し、[接続] をクリックします。 SQL Server への接続についての詳細は、「SQL Server への接続 (SybaseToSQL)」を参照してください。
ターゲット データベースが Azure SQL データベース の場合は、[Azure SQL データベー への接続] ダイアログ ボックスに接続資格情報を入力し、[接続] をクリックします。 Azure SQL データベース への接続についての詳細は、「Azure SQL データベース にアクセスする方法 (SybaseToSQL)」に関する記事を参照してください。
[Output] (出力) ウィンドウにメッセージが表示されます。 移行が完了したら、データ移行レポートが表示されます。 データが移行されなかった場合は、エラーを含む行をクリックし、[Details] (詳細) をクリックします。 レポートを終了するには、[Close] (閉じる) をクリックします。 データ移行レポートについての詳細は、「データ移行レポート (SSMA Common)」を参照してください。
Note
ターゲット データベースとして SQL Express エディションを使用する場合、クライアント側のデータ移行のみが許可され、サーバー側のデータ移行はサポートされません。
大規模なデータの移行 (プレビュー)
大規模なデータを短期間で移行する必要がある場合は、大規模なオフライン移行オプションが適しています。 この機能は、IaaS VM であれ SQL PaaS であれ、Azure Data Factory パイプラインとクラウドのスケーラビリティを使用して、オンプレミスまたは外部の Oracle データ ソースを Azure SQL プラットフォームに移行するものです。 この機能により、データ ファクトリが作成されるか、既存のデータ ファクトリを使用して Azure SQL PaaS または SQL VM にデータが移行されます。
大規模なオフライン移行の場合は、[Migrate data at scale] (大規模なデータの移行) をクリックします。
認証用に Microsoft Entra Azure AD アカウントを指定します。 ユーザー名を入力したら、[接続] を選択します。
Azure SQL VM または Azure SQL データベースまたは Managed Instance が既に構成されているテナントとサブスクリプションを選択し、[Next] (次へ) をクリックします。
移行ワークフローの次の手順は、データ ソースの資格情報の後にターゲット SQL 資格情報を指定することです。
この移行では、既存の Azure リソース (リソース グループとデータ ファクトリ名) を使用するか、[New] (新規) をクリックして移行用のリソース グループと Azure Data Factory を作成できます。
外部データ ソースを移行するには、統合ランタイムが必要です。 [New] (新規) をクリックし、手順に従って統合ランタイムを作成するか、既存の統合サービスを使用します。 統合サービスを作成するには、ゲートウェイのインストールを構成する必要があり、統合ランタイムを構成するためのキーを指定する必要があります。
最後に、一意のデータ移行名を指定します。 移行名には、文字と数値を使用できます。 特殊文字は使用しないでください。
ターゲット テーブルにデータが含まれている場合は、切り詰められ、リロードするされます。 警告ダイアログ ボックスが表示されます。 [OK] を選択して続行するか、切り詰めおよび読み込みを回避するには、[Cancel] (キャンセル) を選択します。
Azure Data Factory コンポーネントの作成には数分かかります。 ステータス バーには、パイプライン作成の進行状況が表示されます。 パイプラインが正常に作成されると、「A data factory pipeline [PipelineName] is created for the data migration activity.」(データ ファクトリ パイプライン [PipelineName] がデータ移行アクティビティ用に作成されました) というメッセージが出力ログに書き込まれます。
データ移行を監視するには、監視 URL をクリックするか、Azure portal のデータ ファクトリのモニター ページに移動します。
参照
MySQL データベースを SQL Server - Azure SQL Database への移行 (MySQLToSQL)