Azure SQL Database に移行するための Data Migration Assistant を調べる

完了

Data Migration Assistant を使用すると、組織がダウンタイムを許容できる場合に、SQL Server データベースを単一またはプールされた Azure SQL データベースに移行するのに役立ちます。

Data Migration Assistant を使用して Azure SQL Database に移行する場合、3 種類の移行を利用できます。

移行オプション 説明
スキーマとデータ スキーマには、テーブル、ビュー、ストアド プロシージャ、関数などのデータベースの構造が含まれます。 データには、データベースに格納されている実際のデータが含まれます。
スキーマのみ ソース データベースから Azure SQL Database にスキーマのみを移行できます。 データは移行されません。
[データのみ] ソース データベースから Azure SQL Database にデータのみを移行できます。 スキーマは、ターゲット Azure SQL Database に既に存在している必要があります。

Note

Database Migration Assistant は使用可能で便利なツールですが、大規模な移行や全体的なエクスペリエンスの向上には、Azure Database Migration Service を使用することをお勧めします。

SQL Server データベースにアクセスする

Data Migration Assistant を使用して、データベースに互換性の問題がないかを評価する。

互換性レポートを確認し、Transact-SQL スクリプトを使用して必要な修正プログラムを適用できます。 または、結果を Azure Migrate にアップロードすることもできます。

Data Migration Assistant の評価を Azure Migrate にアップロードする方法を示すスクリーンショット。

SQL Server データベースを移行する

次の手順では、データベースを Azure SQL Database に移行する方法について説明します。

  1. 新しい移行プロジェクトを作成して、ソースの種類を [SQL Server] に、ターゲット サーバーの種類を [Azure SQL Database] に設定します。 [作成] を選択します

    Data Migration Assistant で新しい移行プロジェクトを開始する方法を示すスクリーンショット。

  2. [Select source] (ソースの選択) タブで、ソース SQL Server インスタンスの名前を入力し、ソース SQL Server インスタンスでサポートされている [Authentication type] (認証の種類) を選択します。 接続を選択します。

  3. Azure SQL Database に移行するデータベースを選択し、[Next] (次へ) を選択します。

  4. [Select target] (ターゲットの選択) タブで、ソース SQL Server インスタンスの名前を入力し、ソース SQL Server インスタンスでサポートされている [Authentication type] (認証の種類) を選択します。 接続を選択します。

  5. ターゲット データベースを選択し、[Next] (次へ) を選択します。

  6. [Select objects] (オブジェクトの選択) タブで、Azure SQL Database に移行するソース データベースからスキーマ オブジェクトを選択します。

    Data Migration Assistant の [Select objects] (オブジェクトの選択) タブを示すスクリーンショット。

  7. そのまま変換できないオブジェクトに対して推奨される修正プログラムを確認して適用します。

  8. [Generate SQL script] (SQL スクリプトの生成) を選択します。

    Data Migration Assistant で生成されたスクリプトを示すスクリーンショット。

  9. 生成されたスクリプトを確認し、[Deploy schema] (スキーマの配置) を選択します。

  10. スキーマの配置の結果を確認し、[Migrate data] (データの移行) を選択してデータ移行プロセスを開始します。

  11. [Select tables] (テーブルの選択) タブで、移行するデータが含まれているテーブルを選択し、[Start data migration] (データ移行の開始) を選択します。

    Data Migration Assistant の [Select tables] (テーブルの選択) タブを示すスクリーンショット。

    Note

    最適な移行エクスペリエンスを得るため、移行プロセスを開始する前に、Azure SQL Database のパフォーマンス レベルを P15 に一時的に変更することを強くお勧めします。

移行の監視

最後の手順では、移行の全体的な状態が表示されます。 また、画面の上部にある各種の移行状態を選択して、結果をフィルター処理することもできます

Data Migration Assistant の移行結果を示すスクリーンショット。

設定を微調整する

dma.exe.config ファイル内の構成値を変更することで、Data Migration Assistant の動作を微調整できます。 これらのパラメータを変更すると、全体的な移行パフォーマンスを向上させることができます。

たとえば、並列データベース移行の数を調整する場合は、dma.exe.config ファイルの parallelDatabases 構成値を変更できます。 これは、多数のデータベースを処理するときのタイムアウト エラーを防ぐのに役立ちます。 同様に、ソースおよびターゲット インスタンスの両方の SQL 接続タイムアウトを調整する場合は、dma.exe.config ファイルの ConnectionTimeout 構成値を変更できます。 これは、評価中または移行中に接続がタイムアウトしないようにするのに役立ちます。

その他のオプションについては、「Data Migration Assistant の設定を構成する」を参照してください。

ベスト プラクティス

Data Migration Assistant を使用して SQL Server データベースを Azure SQL Database に移行する場合は、移行をスムーズに進めて成功させるために、いくつかのベスト プラクティスに従うことが重要です。

  • Data Migration Assistant を SQL Server ホスト コンピューターに直接インストールして実行しないようにします。
  • ソースおよびターゲット サーバーの両方からアクセスできる 1 つの共有の場所を用意して、コピー操作を回避します。
  • 移行が失敗しないように、共有フォルダーに正しいアクセス許可を付与するようにします。
  • ソースおよびターゲット サーバーへの接続時に接続の暗号化を有効にしてセキュリティを強化します。
  • データを移行する前に、ソースおよびターゲット データベースの両方で信頼されていない制約を確認し、必要に応じて修正します。 必要に応じて、信頼できない制約を修正します。 制約を信頼できないままにしておくと、不適切な実行プランになり、パフォーマンスに影響する可能性があります。