SQL Server 向け Database Migration Service

バックアップと復元フローを使用して、Database Migration Service で SQL Server データベースを Cloud SQL for SQL Server インスタンスに移行できます。

  • セルフマネージド ソースまたは Amazon RDS ソースの場合は、まずフル データベース バックアップとトランザクション ログファイルを Cloud Storage バケットにアップロードします。Database Migration Service はバケットをアクティブにモニタリングし、データを移行先の Cloud SQL for SQL Server インスタンスに継続的に複製します。

  • Cloud SQL for SQL Server ソースの場合、Database Migration Service は必要なすべてのバックアップ ファイルのエクスポートを自動的に処理します。

このページでは、同種 SQL Server 移行の主な Database Migration Service 機能の概要について説明します。

  • サポートされている移行元と移行先には、Database Migration Service でサポートされているすべての SQL Server バージョンが一覧表示されます。

  • 継続的な移行のデータフローでは、移行プロセス中に Google Cloud でデータがどのように移動するかをエンドツーエンドで確認できます。

  • モニタリングでは、移行ジョブの進行状況と健全性をモニタリングするのに役立つログと指標について説明します。

  • 暗号化では、暗号化された SQL Server バックアップ ファイルを使用して移行する方法について説明します。

サポートされているソースと宛先のデータベース

バージョン互換性ガイドラインに沿って、Database Migration Service を使用して、同じ SQL Server のバージョンとエディション間で移行したり、以前のバージョンの SQL Server から Cloud SQL でサポートされている新しいバージョンに移行したりできます。詳細については、Microsoft のドキュメントで、SQL Server バージョンのサポートされているバージョンとエディションのアップグレードをご覧ください。たとえば、 サポートされているバージョンとエディションのアップグレード(SQL Server 2022)をご覧ください。

次の表に、サポートされているすべての SQL Server の移行元データベースと移行先データベースを示します。

移行元データベース 移行先データベース
Amazon RDS Cloud SQL for SQL Server バージョン 2022、2019、2017
セルフマネージド SQL Server

(オンプレミス、またはお客様が完全に管理するクラウド VM 上)

Cloud SQL for SQL Server

(Database Migration Service による自動バックアップ エクスポートを使用)

継続的な移行のデータフロー

Database Migration Service は、SQL Server から Cloud SQL への同種移行で 継続的移行フローをサポートしています。この方法では、まず完全データベース バックアップ ファイルからデータが読み込まれ、次に差分バックアップ ファイルからデータが読み込まれます。その後、専用の Cloud Storage バケットにアップロードしたトランザクション ログファイルに基づいて、データが継続的に更新されます。

SQL Server の移行フローの概要
図 1.SQL Server 向け Database Migration Service の移行中のデータ移動。(クリックして拡大)
SQL Server の移行フローの概要

大まかに、データは移行フェーズを次のように移動します。

Cloud SQL for SQL Server ソース

Cloud SQL for SQL Server ソースの場合:

  1. ソースの Cloud SQL for SQL Server インスタンスを構成して、ポイントインタイム リカバリ(PITR)をサポートし、Cloud SQL と Database Migration Service のサービス アカウントに必要な権限を割り当てます。
  2. 移行ジョブを作成して実行すると、Database Migration Service はまずデータベースの完全バックアップを作成し、指定された Cloud Storage バケットに保存してから、移行先インスタンスに読み込みます。
  3. 完全ダンプが完了すると、Database Migration Service は移行元の Cloud SQL for SQL Server インスタンスからトランザクション ログファイルのエクスポートを継続し、移行先に読み込みます。

アプリケーションを切り替えて、Cloud SQL for SQL Server の移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブをプロモートできます。詳細な移行ガイドについては、 Cloud SQL ソースの Cloud SQL for SQL Server 移行ガイドをご覧ください。

セルフマネージド ソースと AWS ソース

セルフマネージド ソースと AWS ソースの場合:

  1. バックアップ ファイルを Cloud Storage にアップロードします。

    セルフマネージド ソースの継続的な SQL Server 移行では、まずソース データベースの完全バックアップを作成し、バックアップ ファイルを Cloud Storage バケットにアップロードする必要があります。以降の更新では、必要に応じて差分バックアップ ファイルを指定してから、トランザクション ログファイルをアップロードできます。継続的なトランザクション ログの作成とアップロードを自動化することもできます。

    継続的なトランザクション ログの作成とアップロードの自動化の詳細については、 トランザクション ログのバックアップをスケジュールするをご覧ください。

    同種 SQL Server 移行で Database Migration Service がさまざまなタイプのバックアップ ファイルを使用する方法について詳しくは、 サポートされているバックアップ ファイルのタイプをご覧ください。

  2. 移行ジョブが開始されると、Database Migration Service は最新のフル データベース バックアップを移行先の Cloud SQL for SQL Server インスタンスに読み込みます。
  3. 初期読み込みが完了すると、Database Migration Service は増分読み込みフェーズに切り替わります。この時点で、Database Migration Service は次の処理を行います。
    1. 差分バックアップ ファイルを使用するように移行ジョブが構成されている場合、Database Migration Service は `diff` フォルダをスキャンし、差分バックアップ ファイルを移行先インスタンスに読み込みます。差分バックアップ ファイルを使用するように移行ジョブが構成されているにもかかわらず、Database Migration Service が Cloud Storage バケットで差分バックアップ ファイルを見つけられない場合、移行ジョブはエラーを表示し、`diff` フォルダで差分バックアップ ファイルを継続的に検索します。

      Database Migration Service は、増分読み込みフェーズの開始時に差分バックアップ ファイルを 1 回だけ読み込みます。移行ジョブがトランザクション ログファイルの処理に進むと、`diff` フォルダにアップロードしても、新しい差分バックアップ ファイルは認識されません。

    2. これで、Database Migration Service は、移行先のインスタンスに複製するトランザクション ログ バックアップ ファイルを Cloud Storage バケットで継続的にスキャンします。
  4. ソース データベースに新しいデータが表示されたら、トランザクション ログのバックアップ ファイルのエクスポートを継続し、同じ Cloud Storage バケットにアップロードできます。Database Migration Service は、新しいトランザクション ログのバックアップ ファイルをすべて取得し、移行先データベースに複製します。

アプリケーションを切り替えて、Cloud SQL for SQL Server の移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブをプロモートできます。詳細な移行ガイドについては、 Cloud SQL for SQL Server 移行ガイドをご覧ください。

モニタリング

Database Migration Service の移行ジョブのレプリケーション遅延の図の例。
図 2.Database Migration Service のオブザーバビリティのサンプル図。(クリックして拡大)
Database Migration Service の移行ジョブのレプリケーション遅延の図の例。

Database Migration Service には、移行の進行状況をモニタリングするのに役立つ広範なロギング機能とオブザーバビリティ機能が用意されています。これらの機能には、レプリケーションの遅延とトランザクション ログ バックアップ ファイルの処理に関するリアルタイム診断、Cloud SQL for SQL Server の宛先インスタンスの健全性と移行ジョブの状態に関する詳細なログが含まれます。

詳細については、移行ジョブの指標をご覧ください。

暗号化

セルフマネージド ソースと Amazon RDS ソースの場合、Database Migration Service は 暗号化された SQL Server バックアップを完全にサポートします。暗号鍵を Google Cloudにアップロードすると、Database Migration Service はデータ セキュリティを損なうことなく、データを安全に復号して Cloud SQL for SQL Server の移行先インスタンスに読み込むことができます。

詳細については、 暗号化された SQL Server バックアップ ファイルをご覧ください。

次のステップ