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

Data Transmission Service:SQL Server データベースの Alibaba Cloud への移行

最終更新日:Jun 03, 2026

SQL Server データベースを ApsaraDB RDS for SQL Server へ移行するための 6 つのソリューションを紹介します。それぞれ、異なる移行元環境、許容ダウンタイム、機能要件に適しています。

前提条件

開始する前に:

準備チェックリスト

ソリューションを選択する前に:

  1. バージョンの互換性の確認。 移行元と移行先の両方のインスタンスで次のクエリを実行し、移行先の 互換性レベル が移行元以上であることを確認します。

       SELECT name, compatibility_level FROM sys.databases;
  2. ネットワークアクセスの確認。 移行元および移行先のデータベースが、DTS サーバーまたは他の移行ツールからの接続を受け付けることを確認します。

  3. 移行元データベースの特性の評価。 ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、計算列のあるテーブルを特定します。これらによって、利用可能な DTS のモードが決まります。 テーブルタイプの確認に関する FAQ

  4. 移行元エディションとバージョンの確認。 一部の移行モードでは、特定の SQL Server エディションとバージョンが必要です (詳細は後述の機能マトリックスをご参照ください)。


移行ソリューション

物理バックアップ、DTS による論理移行、SQL Server Management Studio (SSMS) による手動移行の 3 つのカテゴリに分類される 6 つのソリューションがあります。

Object Storage Service (OSS) 経由の物理バックアップ (手動)

完全バックアップと増分バックアップを Object Storage Service (OSS) に手動でアップロードし、移行先インスタンスで復元します。

手順:

  1. 移行元データベースで backup_type パラメーターを FULL に設定します。

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

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

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

移行元データベースが SQL Server 2008 R2 を実行している場合は、この操作を実行する前にデータベースのバージョンをアップグレードしてください。

リファレンス: 自己管理型 SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

データディザスタリカバリと DTS 経由の物理バックアップ

物理ゲートウェイと DTS を使用して、バックアップのアップロードと復元を自動化します。

手順:

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

  2. DTS を使用してデータを移行します。システムはバックアップデータを OSS に自動的にアップロードします。

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

リファレンス: 物理ゲートウェイを使用した自己管理型 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

DTS 論理移行:ログ解析モード

DTS は、移行元データベースのトランザクションログを読み取り、解析して変更をキャプチャします。

手順:

  1. DTS データ移行タスクを作成します。 SQL Server 増分同期モード パラメーターを [移行元データベースのログに基づく増分同期 (ヒープテーブルはサポートされていません)] に設定します。

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

リファレンス: 自己管理型 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

DTS 論理移行:ハイブリッドログ解析モード

非ヒープテーブルに対するログベースの解析と、ヒープテーブルに対する変更データキャプチャ (CDC) を組み合わせることで、移行可能なテーブルタイプの範囲を拡大します。

手順:

  1. DTS データ移行タスクを作成します。 SQL Server 増分同期モード パラメーターを [非ヒープテーブルのログベース解析とヒープテーブルの CDC ベース増分同期 (ハイブリッドログベース解析)] に設定します。

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

DTS 論理移行:CDC インスタンスポーリングモード

トランザクションログではなく、SQL Server のネイティブな CDC コンポーネントを使用して変更テーブルから増分変更をキャプチャします。これにより、ログの切り捨ての影響を受けず、より安定した低帯域幅での移行が可能になります。

手順:

  1. DTS データ移行タスクを作成します。 SQL Server 増分同期モード パラメーターを [増分同期のための CDC インスタンスのポーリングとクエリ] に設定します。

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

SSMS 移行

SSMS を使用してデータを手動でエクスポートおよびインポートします。

手順:

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

  2. SSMS を使用して移行元データベースからデータをエクスポートします。

  3. エクスポートしたデータを移行先データベースにインポートします。

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

リファレンス: SSMS を使用したクラウドへのデータ移行


機能マトリックス

このマトリックスを使用して、移行ソリューション間の機能を比較します。

機能 OSS 手動 (物理) データディザスタリカバリ + DTS (物理) ログ解析 (論理) ハイブリッドログ解析 (論理) CDC ポーリング (論理) SSMS
名前マッピング (データベース、テーブル、列) いいえ いいえ はい はい はい いいえ
サービス中断なしの増分移行 いいえ (数分間のダウンタイム) いいえ (数分間のダウンタイム) はい はい [*] はい [*] いいえ (完全なダウンタイム)
複数データベースの移行 (単一タスク) いいえ (一度に 1 データベース) はい はい (最大 10) はい (最大 10) はい (最大 10) いいえ
クロスバージョン移行 いいえ (移行先バージョン >= 移行元) いいえ (移行先バージョン >= 移行元) はい はい はい はい
移行速度 高速 高速
サードパーティクラウドの移行元サポート いいえ いいえ Amazon RDS, Azure SQL Database Amazon RDS, Azure SQL Database Amazon RDS, Azure SQL Database, Google Cloud SQL for SQL Server いいえ
ヒープテーブルのサポート はい はい いいえ はい はい はい
圧縮テーブルのサポート はい はい いいえ はい はい はい
プライマリキーのないテーブル はい はい いいえ いいえ はい [†] はい
計算列のあるテーブル はい はい いいえ いいえ はい はい
データ定義言語 (DDL) 移行 完全 (バックアップ/復元経由) 完全 (バックアップ/復元経由) 部分的 部分的 限定的 完全 (エクスポート/インポート経由)
セットアップの複雑さ 中 (手動バックアップ/アップロード) 低 (DTS コンソール) 低 (DTS コンソール) 低 (DTS コンソール) 低 (DTS コンソール) 低 (SSMS GUI)

[*] 増分移行中、移行元データベースは書き込みを受け付け続けます。ただし、ハイブリッドログ解析モードと CDC ポーリングモードでは、タスクの初期化時に DTS が CDC を有効にすると、短いテーブルロック (数秒) が発生する場合があります。すべてのソリューションで、最終的なカットオーバー中に書き込みを停止する必要があります。

[†] PRIMARY KEY または UNIQUE 制約のないテーブルは CDC ポーリングモードで移行できますが、重複データが含まれる可能性があります。このようなテーブルを保持する必要がある場合は、重複データが許容できるかどうかを評価してください。 CDC インスタンスポーリングモードの制限


ソリューションごとの制限

OSS 手動 (物理バックアップ)

  • ログの手動バックアップとアップロードが必要です。

  • 一度に 1 つのデータベースしか移行できません。

  • 最終的なカットオーバー (書き込み停止、最後の増分ログのリプレイ待ち) 中に数分間のサービス中断が発生します。

  • 移行先データベースのバージョンは、移行元データベースのバージョンより古くすることはできません。

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

データディザスタリカバリ + DTS (物理バックアップ)

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

  • 最終的なカットオーバー中に数分間のサービス中断が発生します。

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

  • 移行先データベースのバージョンは、移行元データベースのバージョンより古くすることはできません。

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

ログ解析モード (論理)

  • 一部の DDL ステートメントのみ移行できます。1 時間あたり 100 を超える DDL ステートメントは、移行速度に影響します。

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

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

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

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

  • ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、計算列のあるテーブルは移行できません。 テーブルタイプの確認に関する FAQ

  • PRIMARY KEY または UNIQUE 制約のないテーブルには、重複データが含まれる可能性があります。このようなテーブルを保持する必要がある場合は、このソリューションを使用しないでください。

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

  • 1 つのデータ移行タスクで移行できるデータベースは最大 10 個です。この制限を超えると、安定性とパフォーマンスの問題が発生する可能性があります。

ハイブリッドログ解析モード (論理)

  • 移行元エディション要件: SQL Server 2008 以降 (Enterprise Edition)、または SQL Server 2016 SP1 以降 (Standard Edition)。SQL Server 2017 はサポートされていません。

  • 一部の DDL ステートメントのみ移行できます。1 時間あたり 100 を超える DDL ステートメントは、移行速度に影響します。

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

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

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

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

  • 計算列のあるテーブルは移行できません。 テーブルタイプの確認に関する FAQ

  • PRIMARY KEY または UNIQUE 制約のないテーブルには、重複データが含まれる可能性があります。このようなテーブルを保持する必要がある場合は、このソリューションを使用しないでください。

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

  • 1 つのデータ移行タスクで移行できるデータベースは最大 10 個です。この制限を超えると、安定性とパフォーマンスの問題が発生する可能性があります。

CDC インスタンスポーリングモード (論理)

  • 移行元が Azure VM の場合のエディション要件: SQL Server 2008 以降 (Enterprise Edition)、または SQL Server 2016 SP1 以降 (Standard Edition)。SQL Server 2017 はサポートされていません。

  • アカウント権限: DTS アクセスアカウントには、データベースレベルおよびテーブルレベルで CDC を有効にする権限が必要です。データベースレベルの CDC には sysadmin ロールを持つアカウントが必要です。テーブルレベルの CDC には特権アカウントが必要です。

    • Azure SQL Database: サーバー管理者アカウントは必要な権限を持っています。vCore モデルで購入したすべてのデータベースで CDC を有効にできます。DTU モデルの場合、データベースのサービス階層は S3 以上である必要があります。

    • Amazon RDS for SQL Server: 特権アカウントは必要な権限を持っています。ストアドプロシージャを使用してデータベースレベルで CDC を有効にできます。

    • クラスター化列ストアインデックスに対して CDC を有効にすることはできません。

    • DTS プレモジュールは移行元データベースで CDC を有効にします。このプロセスは、SQL Server の制限により、数秒間のテーブルロックを引き起こします。

  • 1 つのタスクで移行できるテーブルは最大 1,000 です。この制限を超えると、遅延や不安定さが発生する可能性があります。

  • 1 つのデータ移行タスクで移行できるデータベースは最大 10 個です。この制限を超えると、安定性とパフォーマンスの問題が発生する可能性があります。

  • PRIMARY KEY または UNIQUE 制約のないテーブルには、重複データが含まれる可能性があります。このようなテーブルを保持する必要がある場合、重複データが許容できるかどうかを評価する必要があります。

  • 増分データ移行には約 10 秒のレイテンシーがあります。

  • 1 分以内に DDL を使用して列を追加または削除する操作を 2 回以上行わないでください。そうしないと、データ移行タスクが失敗する可能性があります。

  • 移行中に移行元データベースの CDC インスタンスを変更しないでください。そうしないと、タスクが失敗したり、データが失われたりする可能性があります。

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

SSMS 移行

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

  • すべての移行手順は SSMS を通じて手動で実行する必要があります。


移行ソリューションの選択

移行元環境、増分移行のニーズ、および運用上の制約に基づいて選択します。

重要

移行元環境が増分データ移行をサポートしていない場合は、移行を開始する前に移行元データベースへの書き込みを停止してください。

自己管理型 SQL Server

属性 詳細
増分サポート はい
利用可能なソリューション OSS 手動物理バックアップ、データディザスタリカバリ + DTS 物理バックアップ、DTS 論理移行 (全 3 モード)
推奨 物理ゲートウェイ経由のデータディザスタリカバリ + DTS

このアプローチは、物理バックアップの速度と DTS コンソールの利便性を組み合わせ、単一タスクでの複数データベースの移行をサポートします。 物理ゲートウェイを使用した自己管理型 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

Azure SQL Database

属性 詳細
増分サポート はい
利用可能なソリューション DTS 論理移行 (増分データの場合は [SQL Server 増分同期モード] を [増分同期のための CDC インスタンスのポーリングとクエリ] に設定)、ApsaraDB RDS コンソールのエンドツーエンドの移行、SSMS 移行
推奨 ApsaraDB RDS コンソールのエンドツーエンドの移行または CDC ポーリングモードでの DTS 論理移行

どちらも、手動手順を最小限に抑えたガイド付きワークフローを提供します。 Microsoft Azure 上の SQL Server データベースから ApsaraDB RDS for SQL Server へのデータ移行

Azure SQL Managed Instance および SQL Server on Azure Virtual Machines

属性 詳細
増分サポート はい
利用可能なソリューション DTS 論理移行 (増分データの場合は [SQL Server 増分同期モード] を [増分同期のための CDC インスタンスのポーリングとクエリ] に設定)、ApsaraDB RDS コンソールのエンドツーエンドの移行、SSMS 移行、OSS 手動物理バックアップ

Amazon RDS for SQL Server

属性 詳細
増分サポート はい
利用可能なソリューション DTS 論理移行 (増分データの場合は [SQL Server 増分同期モード] を [増分同期のための CDC インスタンスのポーリングとクエリ] に設定)、ApsaraDB RDS コンソールのエンドツーエンドの移行、SSMS 移行、OSS 手動物理バックアップ
推奨 ApsaraDB RDS コンソールのエンドツーエンドの移行または CDC ポーリングモードでの DTS 論理移行

Amazon RDS for SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

Huawei Cloud RDS for SQL Server

属性 詳細
増分サポート いいえ
利用可能なソリューション SSMS 移行、DTS 論理移行 (完全データのみ)、OSS 手動物理バックアップ (完全データのみ)
推奨 OSS 手動完全バックアップ移行

自己管理型 SQL Server インスタンスの完全バックアップデータを、SQL Server 2008 R2 (クラウドディスク使用) または SQL Server 2012 以降を実行する ApsaraDB RDS インスタンスに移行する

TencentDB for SQL Server

増分サポートあり:

属性 詳細
増分サポート はい
利用可能なソリューション DTS 論理移行、OSS 手動物理バックアップ
推奨 DTS 論理移行

自己管理型 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

増分サポートなし: SSMS 移行を使用します。

Google Cloud SQL for SQL Server

属性 詳細
増分サポート はい
利用可能なソリューション SSMS 移行、DTS 論理移行 (増分データの場合は [SQL Server 増分同期モード] を [増分同期のための CDC インスタンスのポーリングとクエリ] に設定)
推奨 CDC ポーリングモードでの DTS 論理移行

自己管理型 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行


次のステップ

データ整合性の検証

移行後、すべてのデータが移行先インスタンスに正しく転送されたことを確認します。

コアデータの検証

日付または自動インクリメント ID でデータをソートし、移行元データベースと移行先データベースの最新レコードを比較します。たとえば、主要な業務テーブル OrdersOrderIDOrderDate などのフィールドが含まれている場合、両方のデータベースで次のクエリを実行します。

-- 移行元データベース
SELECT TOP 10 OrderID, OrderDate, CustomerID, TotalAmount
FROM Orders
ORDER BY OrderDate DESC;

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

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

DTS は、ダウンタイムなしで移行元データベースと移行先データベース間の完全なデータ検証を提供します。 データ検証タスクの設定

データベース統計の更新

データ分布の変化により、移行先インスタンスでのクエリパフォーマンスが低下する可能性があります。移行したデータベースのすべての統計を更新して、パフォーマンスを回復します。 データベース統計の更新