SQL Server 向け Database Migration Service

バックアップと復元のフローを使用して、Database Migration Service で SQL Server データベースを Cloud SQL for SQL Server インスタンスに移行できます。まず、フル データベース バックアップとトランザクション ログファイルを Cloud Storage バケットにアップロードします。Database Migration Service はバケットをアクティブにモニタリングし、データを移行先の Cloud SQL for SQL Server インスタンスに継続的に複製します。

このページでは、同種 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 上)

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

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

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

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

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

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

  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 の宛先インスタンスの健全性と移行ジョブの状態の詳細なログが含まれます。

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

暗号化

Database Migration Service は、 暗号化された SQL Server バックアップと完全に互換性があります。暗号鍵を Google Cloudにアップロードすると、Database Migration Service はデータ セキュリティを損なうことなく、データを安全に復号して Cloud SQL for SQL Server の移行先インスタンスに読み込むことができます。

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

次のステップ