Database Migration Service は、SQL Server データベースを Cloud SQL for SQL Server に移行する 2 つのアプローチをサポートしています。
- バックアップと復元の移行: セルフマネージド SQL Server、Amazon RDS、Cloud SQL for SQL Server のソースから移行するには、フル バックアップ ファイルとトランザクション ログ ファイルを Cloud Storage バケットにステージングします。
- 分散可用性グループ(DAG)の移行: SQL Server 分散可用性グループを使用して、セルフマネージド SQL Server Enterprise Edition インスタンスからプライベート ネットワーク接続経由で直接移行します。バックアップ ファイルを Cloud Storage にエクスポートする必要はありません。
バックアップと復元の移行
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 でサポートされているすべての SQL Server バージョンが一覧表示されます。
継続的な移行のデータフローでは、移行プロセス中にデータが Google Cloud でどのように移動するかをエンドツーエンドで確認できます。
暗号化では、暗号化された SQL Server バックアップ ファイルを使用して移行する方法について説明します。
モニタリングでは、移行ジョブの進行状況と健全性をモニタリングするのに役立つログと指標について説明します。
サポートされているソースと宛先のデータベース
Database Migration Service を使用すると、同じ SQL Server のバージョンとエディション間で移行できます。また、バージョン互換性ガイドラインに沿って、以前のバージョンの SQL Server から Cloud SQL でサポートされている新しいバージョンに移行することもできます。詳細については、Microsoft のドキュメントで、SQL Server のバージョンでサポートされているバージョンとエディションのアップグレードをご覧ください。たとえば、 サポートされているバージョンとエディションのアップグレード(SQL Server 2025)をご覧ください。
次の表に、サポートされているすべての SQL Server ソース データベースと宛先データベースを示します。
| ソース データベース | 移行先データベース |
|---|---|
| Amazon RDS | Cloud SQL for SQL Server バージョン 2025、2022、2019、2017 |
| セルフマネージド SQL Server (オンプレミス、またはお客様が完全に管理するクラウド VM 上) | |
| Cloud SQL for SQL Server (Database Migration Service による自動バックアップ エクスポートを使用) |
継続的な移行のデータフロー
SQL Server から Cloud SQL への同種移行の場合、Database Migration Service は 継続的な移行フローをサポートしています。このアプローチでは、データはまずデータベースのフル バックアップ ファイルから読み込まれ、次に差分バックアップ ファイルから読み込まれます。その後、専用の Cloud Storage バケットにアップロードしたトランザクション ログ ファイルに基づいて継続的に更新されます。
大まかに、データは次のように移行フェーズを移動します。
Cloud SQL for SQL Server ソース
Cloud SQL for SQL Server ソースの場合:
- ポイントインタイム リカバリ(PITR)をサポートするように移行元の Cloud SQL for SQL Server インスタンスを構成し、Cloud SQL と Database Migration Service のサービス アカウントに必要な権限を割り当てます。
- 移行ジョブを作成して実行すると、Database Migration Service はまずデータベースのフル バックアップを作成し、指定された Cloud Storage バケットに保存してから、移行先インスタンスに読み込みます。
- 完全なダンプが完了すると、Database Migration Service は、移行元の Cloud SQL for SQL Server インスタンスからトランザクション ログファイルをエクスポートし、移行先に読み込みます。
アプリケーションを切り替えて、Cloud SQL for SQL Server の移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブをプロモートできます。移行手順の詳細については、 Cloud SQL ソース用の Cloud SQL for SQL Server 移行ガイドをご覧ください。
セルフマネージド ソースと AWS ソース
セルフマネージド ソースと AWS ソースの場合:
- バックアップ ファイルを Cloud Storage にアップロードします。
セルフマネージド ソースの継続的な SQL Server 移行では、まずソース データベースのフル バックアップを作成し、バックアップ ファイルを Cloud Storage バケットにアップロードする必要があります。後続の更新では、必要に応じて差分バックアップ ファイルを指定し、トランザクション ログ ファイルをアップロードできます。また、継続的なトランザクション ログの作成とアップロードを自動化することもできます。
継続的なトランザクション ログの作成とアップロードを自動化する方法については、 トランザクション ログのバックアップをスケジュールするをご覧ください。
Database Migration Service が同種の SQL Server 移行でさまざまなタイプのバックアップ ファイルを使用する方法については、 サポートされているバックアップ ファイル形式をご覧ください。
- 移行ジョブが開始されると、Database Migration Service は最新のデータベースのフル バックアップを移行先の Cloud SQL for SQL Server インスタンスに読み込みます。
- 初期読み込みが完了すると、Database Migration Service は増分読み込みフェーズに切り替わります。この時点で、Database Migration Service は次の処理を行います。
-
移行ジョブが差分バックアップ ファイルを使用するように構成されている場合、Database Migration Service は「diff」フォルダをスキャンし、差分バックアップ ファイルを移行先インスタンスに読み込みます。移行ジョブが差分バックアップ ファイルを使用するように構成されているが、Database Migration Service が Cloud Storage バケットで差分バックアップ ファイルを見つけられない場合、移行ジョブは差分バックアップ ファイルの diff フォルダを継続的に検索しながらエラーを表示します。
Database Migration Service は、増分読み込みフェーズの開始時に、差分バックアップ ファイルを 1 回だけ読み込みます。移行ジョブがトランザクション ログファイルの処理に進むと、新しい差分バックアップ ファイルを diff フォルダにアップロードしても、それらのファイルは認識されません。
- Database Migration Service は、Cloud Storage バケットを継続的にスキャンして、移行先インスタンスに複製するトランザクション ログのバックアップ ファイルを探します。
-
移行ジョブが差分バックアップ ファイルを使用するように構成されている場合、Database Migration Service は「diff」フォルダをスキャンし、差分バックアップ ファイルを移行先インスタンスに読み込みます。移行ジョブが差分バックアップ ファイルを使用するように構成されているが、Database Migration Service が Cloud Storage バケットで差分バックアップ ファイルを見つけられない場合、移行ジョブは差分バックアップ ファイルの diff フォルダを継続的に検索しながらエラーを表示します。
- ソース データベースに新しいデータが表示されたら、トランザクション ログのバックアップ ファイルをエクスポートして、同じ Cloud Storage バケットにアップロードできます。Database Migration Service は、新しいトランザクション ログのバックアップ ファイルをすべて取得し、移行先データベースに複製します。
アプリケーションを切り替えて、Cloud SQL for SQL Server の移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブをプロモートできます。移行の詳細な手順については、 Cloud SQL for SQL Server 移行ガイドをご覧ください。
暗号化
セルフマネージド ソースと Amazon RDS ソースの場合、Database Migration Service は 暗号化された SQL Server バックアップを完全にサポートします。暗号鍵を Google Cloudにアップロードすると、Database Migration Service はデータを安全に復号し、データ セキュリティを損なうことなく Cloud SQL for SQL Server の移行先インスタンスに読み込むことができます。
詳細については、 暗号化された SQL Server バックアップ ファイルをご覧ください。
分散可用性グループ(DAG)の移行
セルフマネージド SQL Server Enterprise Edition インスタンスの場合、バックアップ ファイルやトランザクション ログファイルを Cloud Storage にエクスポートすることなく、SQL Server 分散可用性グループ(DAG)を使用してプライベート ネットワーク接続経由でデータベースを直接移行できます。
このセクションでは、SQL Server 分散可用性グループの移行の概要について説明します。
サポートされている移行元と移行先には、DAG 移行でサポートされている SQL Server のエディションとバージョンが記載されています。
継続的な移行のデータフローは、移行プロセス中に可用性グループ間でデータがどのように移動するかをまとめたものです。
暗号化では、転送中のデータがソース インスタンスと宛先インスタンスの間でどのように保護されるかについて説明します。
モニタリングでは、移行ジョブの進行状況と健全性をモニタリングするのに役立つログと指標について説明します。
バックアップと復元の移行、アーキテクチャの詳細、制限事項との完全な比較については、分散可用性グループ(DAG)の移行についてをご覧ください。
サポートされているソースと宛先のデータベース
分散可用性グループの移行では、ソース SQL Server インスタンスと移行先の Cloud SQL for SQL Server インスタンスの両方に Enterprise Edition が必要です。
| ソース データベース | 移行先データベース |
|---|---|
| セルフマネージド SQL Server Enterprise Edition バージョン 2025、2022、2019、2017 (オンプレミス、またはお客様が完全に管理するクラウド VM 上。Always On 可用性グループが有効になっていること) |
Cloud SQL for SQL Server Enterprise Edition バージョン 2025、2022、2019、2017 |
継続的な移行のデータフロー
分散可用性グループの移行では、Database Migration Service が、移行元の可用性グループと、移行先の Cloud SQL for SQL Server インスタンス上のマネージド セカンダリ可用性グループとの間に分散可用性グループを構成し、初期のフルロードと継続的なデータベース変更の両方をプライベート ネットワーク接続経由で直接ストリーミングします。
分散可用性グループの移行の概要は次のとおりです。
- 双方向のプライベート IP 接続を構成し、ソースの可用性グループを準備して、宛先の Cloud SQL for SQL Server インスタンスにリンクサーバーを作成します。
- 移行ジョブを開始すると、Database Migration Service は分散型可用性グループを作成し、移行元可用性グループ内のすべてのデータベースの初期フルロードをネットワーク経由で Cloud SQL for SQL Server に直接ストリーミングします。
- 最初の完全読み込みが完了すると、Database Migration Service は進行中のデータベース変更(
CDCフェーズ)を継続的に複製しながら、読み取り専用モードで移行先データベースをクエリできるようにします。 - 移行ジョブをプロモートすると、Database Migration Service は Cloud SQL for SQL Server インスタンスを読み取り / 書き込みプライマリに切り替え、
FAILBACKフェーズに入り、新しい書き込みをソース インスタンスにレプリケートします。FAILBACKフェーズでは、--failbackフラグを指定してpromoteを実行し、プライマリ ロールを移行元インスタンスに戻すことができます。また、レプリケーションを停止して移行ジョブを削除し、移行を完了して、カットオーバーが検証されたら必要なクリーンアップを実行することもできます。
DAG 移行の仕組みの詳細については、分散可用性グループ(DAG)の移行についてをご覧ください。詳細な手順については、分散可用性グループを使用してセルフマネージド SQL Server から移行するをご覧ください。
暗号化
分散型可用性グループの移行では、バックアップ ファイルは Cloud Storage にエクスポートされません。代わりに、ソースの可用性グループと宛先の Cloud SQL for SQL Server 可用性グループ間で転送されるすべての初期フルロード データと継続的なデータベース変更は、証明書で認証され、プライベート ネットワーク接続を介して AES 暗号化を使用して転送中に暗号化されます。
モニタリング
Database Migration Service には、バックアップと復元、分散可用性グループの移行の両方の進行状況をモニタリングするのに役立つ、広範なロギング機能とオブザーバビリティ機能が用意されています。これらの機能には、レプリケーション遅延(復元ラグ)のリアルタイム診断、バックアップベースの移行のためのトランザクション ログ バックアップ ファイル処理、宛先ストレージの使用量、Cloud SQL for SQL Server 宛先インスタンスの健全性と移行ジョブの状態に関する詳細なログが含まれます。
詳細については、移行ジョブの指標をご覧ください。
次のステップ
Database Migration Service での SQL Server のデータと機能のサポートの詳細については、 既知の制限事項をご覧ください。
移行の詳細な手順については、以下をご覧ください。