すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:SQL Server データベースを ApsaraDB RDS for SQL Server に移行する

最終更新日:Aug 23, 2025

このトピックでは、SQL Server データベースを ApsaraDB RDS for SQL Server に移行するための一般的なソリューションについて説明します。データソースの場所、各ソリューションで使用されるツール、各ソリューションのメリットと制限に基づいてソリューションを選択できます。

準備

クラウド移行ソリューション

物理移行ソリューション

ソリューション

手順

参照

Object Storage Service (OSS) を使用して手動でデータを移行する

  1. ソースデータベースの backup_type パラメーターを FULL に設定します。

  2. 完全データをバックアップし、バックアップデータを OSS バケットにアップロードします。

  3. スケジュールに基づいて増分ログをバックアップおよびアップロードします。

  4. ソースデータベースへのデータの書き込みを停止します。最後の増分ログが正常に再生された後、ワークロードを移行先データベースに切り替えます。

Data Disaster Recovery と DTS を使用してデータを迅速に移行する

  1. 物理プロトコルゲートウェイをデプロイします。

  2. DTS を使用してデータをクラウドに移行します。システムは OSS の API 操作を呼び出して、バックアップデータを OSS バケットにアップロードします。

  3. ソースデータベースへのデータの書き込みを停止します。最後の増分ログが正常に再生された後、ワークロードを移行先データベースに切り替えます。

物理ゲートウェイを使用して、自己管理 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスにデータを移行する

論理移行ソリューション

ソリューション

手順

参照

DTS を使用してログ解析モードでデータを移行する

  1. DTS を使用してデータをクラウドに移行します。

    説明

    SQL Server 増分同期モード パラメーターを ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定します。

  2. ソースデータベースへのデータの書き込みを停止します。最後の増分ログが正常に再生された後、ワークロードを移行先データベースに切り替えます。

DTS を使用してハイブリッドログ解析モードでデータを移行する

  1. DTS を使用してデータをクラウドに移行します。

    説明

    SQL Server 増分同期モード パラメーターを クラスター化テーブルはログ解析で増分同期し、ヒープテーブルの場合は CDC で増分同期します (ハイブリッド式ログ解析) に設定します。

  2. ソースデータベースへのデータの書き込みを停止します。最後の増分ログが正常に再生された後、ワークロードを移行先データベースに切り替えます。

DTS を使用して変更データキャプチャ (CDC) インスタンスポーリングおよびクエリモードでデータを移行する

  1. DTS を使用してデータをクラウドに移行します。

    説明

    SQL Server 増分同期モード パラメーターを 増分同期のための CDC インスタンスのポーリングとクエリ に設定します。

  2. ソースデータベースへのデータの書き込みを停止します。最後の増分ログが正常に再生された後、ワークロードを移行先データベースに切り替えます。

その他のソリューション

ソリューション

手順

参照

SSMS を使用してデータを移行する

  1. ソースデータベースへのデータの書き込みを停止します。

  2. SSMS を使用してソースデータベースのデータをエクスポートします。

  3. SSMS を使用して、エクスポートされたデータを移行先データベースにインポートします。

  4. データの整合性が検証された後、ワークロードを移行先データベースに切り替えます。

SSMS を使用して RDS for SQL Server インスタンスにデータを移行する

クラウド移行ソリューションの比較

物理移行ソリューション

ソリューション

メリット

制限

OSS を使用して手動でデータを移行する

  • SQL Server が提供するバックアップおよびリカバリ機能は、多数のシナリオをサポートしています。

  • 移行速度が速いです。

  • ソースデータベースのログファイル名の形式に基づいて、バックアップファイルの名前を手動で変更できます。

  • ログを手動でバックアップおよびアップロードする必要があるため、面倒です。

  • 一度に移行できるデータベースは 1 つだけです。

  • ソースデータベースへのデータの書き込みを停止し、最後の増分ログが正常に再生されるまで待ってから、ワークロードを新しいデータベースに切り替える必要があります。そのため、サービスが数分間中断される場合があります。

  • 移行先データベースのバージョンは、ソースデータベースのバージョンより前であってはなりません。

  • データベース、テーブル、および列の名前マッピング機能はサポートされていません。

Data Disaster Recovery と DTS を使用してデータを迅速に移行する

  • 移行操作は DTS コンソールで実行されます。構成と操作は簡単で便利です。

  • 一度に複数のデータベースを移行できます。

  • SQL Server が提供するバックアップおよびリカバリ機能は、多数のシナリオをサポートしています。

  • 移行速度が速いです。

  • バックアップログファイル名の拡張子は bak である必要があります。

  • ソースデータベースへのデータの書き込みを停止し、最後の増分ログが正常に再生されるまで待ってから、ワークロードを移行先データベースに切り替える必要があります。そのため、サービスが数分間中断される場合があります。

  • ソースデータベースのサーバーに AliyunDBSAgent をインストールする必要があります。

  • 移行先データベースのバージョンは、ソースデータベースのバージョンより前であってはなりません。

  • データベース、テーブル、および列の名前マッピング機能はサポートされていません。

論理移行ソリューション

ソリューション

メリット

制限

DTS を使用してログ解析モードでデータを移行する

  • 移行操作は DTS コンソールで実行されます。構成と操作は簡単で便利です。

  • 異なるバージョンのデータベース間でデータを移行できます。

  • データベース、テーブル、および列の名前マッピング機能がサポートされています。

  • DTS を使用して増分データを移行する場合、ソースデータベースへのデータの書き込みを停止する必要はありません。サービスの継続性が保証されます。

  • サードパーティのクラウドプラットフォームから Alibaba Cloud にデータを移行できます。

    たとえば、Amazon RDS for SQL Server から Alibaba Cloud に完全データを移行したり、Microsoft Azure SQL Database から NoSQL モードで完全データと増分データを移行したりできます。

  • 移行できる DDL 文は一部のみです。1 時間あたり 100 を超える DDL 文が実行されると、移行速度が低下する可能性があります。

  • ソースデータベースのログ書き込み速度が 10 MB/秒、30 GB/時間、または 500 GB/日を超えると、タスクが遅延したり、失敗したりする可能性があります。

  • ソースデータベースのログバックアップの頻度が 1 時間に 1 回を超えると、DTS がローカルバックアップログを取得できない場合があります。ローカルディスクにバックアップログを 3 日間保持することをお勧めします。

  • DTS は、ソースデータベースにトリガーと DDL ストレージテーブルを作成して、DDL の変更をキャプチャします。

  • 増分データ移行中は、FOREIGN KEY 制約を無効にする必要があります。そうしないと、タスクが失敗する可能性があります。

  • ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、および計算列を含むテーブルは移行できません。

  • PRIMARY KEY 制約または UNIQUE 制約のないテーブルには、重複データが含まれている可能性があります。PRIMARY KEY 制約または UNIQUE 制約のないテーブルを保持する場合は、このソリューションを使用しないことをお勧めします。

  • DTS は fn_log 関数を使用してログをプルおよび解析します。この関数は安定していません。予期しない操作が発生した場合、タスクが失敗する可能性があります。

  • 1 つのデータ移行タスクで移行できるデータベースは 10 個までです。それ以上移行すると、安定性とパフォーマンスの問題が発生する可能性があります。

DTS を使用してハイブリッドログ解析モードでデータを移行する

  • 移行操作は DTS コンソールで実行されます。構成と操作は簡単で便利です。

  • 異なるバージョンのデータベース間でデータを移行できます。

  • データベース、テーブル、および列の名前マッピング機能がサポートされています。

  • ヒープテーブル、プライマリキーのないテーブル、および圧縮テーブルを移行できます。

  • サードパーティのクラウドプラットフォームから Alibaba Cloud にデータを移行できます。

    たとえば、Amazon RDS for SQL Server から Alibaba Cloud に完全データを移行したり、Microsoft Azure SQL Database から NoSQL モードで完全データと増分データを移行したりできます。

  • ソース SQL Server データベースは、SQL Server 2008 以降の Enterprise Edition、または SQL Server 2016 SP1 以降の Standard Edition である必要があります (SQL Server 2017 は除く)。

  • 移行できる DDL 文は一部のみです。1 時間あたり 100 を超える DDL 文が実行されると、移行速度に影響が出ます。

  • ソースデータベースのログ書き込み速度が 10 MB/秒、30 GB/時間、または 500 GB/日を超えると、タスクが遅延したり、失敗したりする可能性があります。

  • ソースデータベースのログバックアップの頻度が 1 時間に 1 回を超えると、DTS がローカルバックアップログを取得できない場合があります。ローカルディスクにバックアップログを 3 日間保持することをお勧めします。

  • DTS は、データベースおよび一部のテーブルに対して CDC を有効にし、ソースデータベースにトリガーと DDL ストレージテーブルを作成して、DDL の変更をキャプチャします。

  • 増分データ移行中は、FOREIGN KEY 制約を無効にする必要があります。そうしないと、タスクが失敗する可能性があります。

  • 計算列を含むテーブルは移行できません。

  • PRIMARY KEY 制約または UNIQUE 制約のないテーブルには、重複データが含まれている可能性があります。PRIMARY KEY 制約または UNIQUE 制約のないテーブルを保持する場合は、このソリューションを使用しないことをお勧めします。

  • DTS は fn_log 関数を使用してログをプルおよび解析します。この関数は安定していません。予期しない操作が発生した場合、タスクが失敗する可能性があります。

  • 1 つのデータ移行タスクで移行できるデータベースは 10 個までです。それ以上移行すると、安定性とパフォーマンスの問題が発生する可能性があります。

DTS を使用して CDC インスタンスポーリングおよびクエリモードでデータを移行する

  • 移行操作は DTS コンソールで実行されます。構成と操作は簡単で便利です。

  • 異なるバージョンのデータベース間でデータを移行できます。

  • データベース、テーブル、および列の名前マッピング機能がサポートされています。

  • サードパーティのクラウドプラットフォームから Alibaba Cloud にデータを移行できます。

    たとえば、Amazon RDS for SQL Server、Microsoft Azure SQL Database、または Google Cloud SQL for SQL Server から Alibaba Cloud に完全データと増分データを移行できます。

  • 増分データ移行はより安定しており、消費するネットワーク帯域幅が少なくなります。

    SQL Server のネイティブ CDC コンポーネントを使用して増分データを取得する場合、ソースデータベースのトランザクションログからデータをキャプチャする必要はありません。ソースデータベースのログ切り捨ては、DTS インスタンスに影響を与えません。

  • ソースデータベースが SQL Server Enterprise Edition を実行する Microsoft Azure VM の場合、そのバージョンは SQL Server 2008 以降である必要があります。ソースデータベースが SQL Server Standard Edition を実行する Microsoft Azure VM の場合、そのバージョンは SQL Server 2016 SP1 以降である必要があります。SQL Server 2017 はサポートされていません。

  • DTS がソースデータベースにアクセスするために使用するアカウントには、データベースレベルおよびテーブルレベルの CDC を有効にする権限が必要です。データベースレベルの CDC を有効にするには、sysadmin ロールが割り当てられたアカウントが必要です。テーブルレベルの CDC を有効にするには、特権アカウントが必要です。

    説明
    • Azure SQL Database コンソールで提供される特権アカウント (サーバー管理者) は要件を満たしています。vCore ベースの購入モデルを使用するデータベースの場合、すべての仕様で CDC がサポートされています。DTU ベースの購入モデルを使用するデータベースの場合、S3 以降の仕様のみが CDC をサポートしています。

    • Amazon RDS for SQL Server の特権アカウントは要件を満たしており、ストアドプロシージャのデータベースレベルの CDC の有効化をサポートしています。

    • クラスター化列ストアインデックステーブルは CDC をサポートしていません。

    • DTS 増分移行タスクの前提条件モジュールは、ソースデータベースの CDC を有効にします。このプロセス中、SQL Server データベースカーネルの制限により、ソースデータベースが短時間ロックされる場合があります。

  • ソースデータベースから 1,000 を超えるテーブルを移行する DTS タスクを実行することはできません。そうしないと、タスクが遅延したり、不安定になったりする可能性があります。

  • 1 つのデータ移行タスクで移行できるデータベースは 10 個までです。それ以上移行すると、安定性とパフォーマンスの問題が発生する可能性があります。

  • 1 つのデータ移行タスクで移行できるデータベースは 10 個までです。それ以上移行すると、安定性とパフォーマンスの問題が発生する可能性があります。

  • PRIMARY KEY 制約または UNIQUE 制約のないテーブルには、重複データが含まれている可能性があります。PRIMARY KEY 制約または UNIQUE 制約のないテーブルを保持する場合は、このソリューションを使用しないことをお勧めします。

  • 増分データ移行には約 10 秒の遅延があります。

  • 列を追加および削除する操作を連続して実行することはできません (1 分以内に列を追加または削除する DDL 操作を 2 回以上実行することはできません)。そうしないと、タスクが失敗する可能性があります。

  • ソースデータベースの CDC インスタンスで変更操作を実行することはできません。そうしないと、タスクが失敗したり、データが失われたりする可能性があります。

  • 複数のデータベースの複数のテーブルを移行するように DTS タスクを構成すると、安定性とパフォーマンスの問題が発生する可能性があります。

その他のソリューション

ソリューション

メリット

制限

SSMS を使用してデータを移行する

操作は簡単で、プロセスは安定しており、データの不整合のリスクは低いです。

  • ソースデータベースへのデータの書き込みを停止する必要があります。そうしないと、データの不整合が発生する可能性があります。

  • SSMS を使用して手動で移行を実行する必要があります。

クラウド移行ソリューションを選択する

重要

データソースが増分データ移行をサポートしていない場合は、データをクラウドに移行する前に、ソースデータベースへのデータの書き込みを停止する必要があります。

データソース

増分移行のサポート

サポートされているソリューション

推奨ソリューション

自己管理 SQL Server データベース

はい

  • 物理バックアップファイルに基づいて OSS を使用して手動でデータをクラウドに移行する

  • Data Disaster Recovery と DTS を使用して、物理バックアップファイルに基づいてデータをクラウドに移行する

  • DTS を使用して論理クラウド移行を実行する

Data Disaster Recovery と DTS を使用して、物理バックアップファイルに基づいてデータをクラウドに移行する

Azure SQL Database

はい

  • DTS を使用して論理クラウド移行を実行する

    説明

    増分データを移行する場合は、[SQL Server 増分同期モード] パラメーターを 増分同期のための CDC インスタンスのポーリングとクエリ に設定する必要があります。

  • ApsaraDB RDS コンソールを使用してエンドツーエンドのクラウド移行を実行する

  • SSMS を使用してクラウド移行を実行する

ApsaraDB RDS コンソールを使用してエンドツーエンドのクラウド移行を実行するか、DTS を使用して論理クラウド移行を実行する

Azure SQL Managed Instance

Azure Virtual Machines 上の SQL Server

  • DTS を使用して論理クラウド移行を実行する

    説明

    増分データを移行する場合は、[SQL Server 増分同期モード] パラメーターを 増分同期のための CDC インスタンスのポーリングとクエリ に設定する必要があります。

  • ApsaraDB RDS コンソールを使用してエンドツーエンドのクラウド移行を実行する

  • SSMS を使用してクラウド移行を実行する

  • 物理バックアップファイルに基づいて OSS を使用して手動でデータをクラウドに移行する

Amazon RDS for SQL Server

はい

  • DTS を使用して論理クラウド移行を実行する

    説明

    増分データを移行する場合は、[SQL Server 増分同期モード] パラメーターを 増分同期のための CDC インスタンスのポーリングとクエリ に設定する必要があります。

  • ApsaraDB RDS コンソールを使用してエンドツーエンドのクラウド移行を実行する

  • SSMS を使用してクラウド移行を実行する

  • 物理バックアップファイルに基づいて OSS を使用して手動でデータをクラウドに移行する

ApsaraDB RDS コンソールを使用してエンドツーエンドのクラウド移行を実行するか、DTS を使用して論理クラウド移行を実行する

Huawei Cloud RDS for SQL Server

いいえ

  • SSMS を使用してクラウド移行を実行する

  • 完全データ移行のために DTS を使用して論理クラウド移行を実行する

  • 物理バックアップファイルに基づいて OSS を使用して手動で完全データをクラウドに移行する

物理バックアップファイルに基づいて OSS を使用して手動で完全データをクラウドに移行する

説明
  • ソースデータベースで SQL Server 2008 R2 が実行されている場合は、操作を実行する前にデータベースバージョンをアップグレードすることをお勧めします。

  • Huawei Cloud RDS for SQL Server でバックアップファイルを手動で作成およびダウンロードする方法については、Huawei Cloud の公式ドキュメントを参照してください。

TencentDB for SQL Server データベース

はい

  • DTS を使用して論理クラウド移行を実行する

  • 物理バックアップファイルに基づいて OSS を使用して手動でデータをクラウドに移行する

  • SSMS を使用してクラウド移行を実行する

DTS を使用して論理クラウド移行を実行する

いいえ

SSMS を使用してクラウド移行を実行する

Google Cloud SQL for SQL Server

はい

  • SSMS を使用してクラウド移行を実行する

  • DTS を使用して論理クラウド移行を実行する

    説明

    増分データを移行する場合は、[SQL Server 増分同期モード] パラメーターを 増分同期のための CDC インスタンスのポーリングとクエリ に設定する必要があります。

DTS を使用して論理クラウド移行を実行する

次のステップ

データ検証

SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスにデータを移行した後、すべてのデータが ApsaraDB RDS for SQL Server インスタンスに移行されたかどうかを確認できます。ビジネス要件に基づいて、次のデータ検証方法のいずれかを使用できます。

コアデータ検証

日付または自動インクリメント ID でデータをソートして、最新のビジネスデータが移行されたかどうかを確認できます。たとえば、コアビジネステーブル Orders に OrderID や OrderDate などのフィールドが含まれている場合は、次の文を実行してソースデータベースと移行先データベースのフィールドをクエリできます。

-- ソースデータベースの SQL クエリ
SELECT TOP 10 OrderID, OrderDate, CustomerID, TotalAmount
FROM Orders
ORDER BY OrderDate DESC;

-- 移行先データベースの SQL クエリ
SELECT TOP 10 OrderID, OrderDate, CustomerID, TotalAmount
FROM Orders
ORDER BY OrderDate DESC;

DTS を使用した完全データ検証

DTS を使用すると、サービスを停止することなく、ソースデータベースと移行先データベースのデータを確認できます。DTS を使用して 完全データ検証タスクを作成し、すべてのデータがソースデータベースから移行先データベースに移行されたかどうかを確認できます。

データベース統計の更新

SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスにデータを移行した後、インスタンスのデータ分布の変化により、移行先 ApsaraDB RDS for SQL Server インスタンスのパフォーマンスが大幅に低下する可能性があります。特定のデータベースのすべての統計を更新して、インスタンスのパフォーマンスを復元または向上させることができます。