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

Data Transmission Service:ApsaraDB MyBase for SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスへのデータ移行

最終更新日:Mar 28, 2026

Data Transmission Service (DTS) を使用すると、ダウンタイムを最小限に抑えながら、ApsaraDB MyBase for SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスへデータを移行できます。このガイドでは、スキーマ移行、完全なデータ移行、および増分データ移行を組み合わせた移行タスクの構成手順を説明します。

前提条件

開始する前に、以下の点を確認してください。

  • 宛先の ApsaraDB RDS for SQL Server インスタンスが作成済みであること。サポートされているエンジンバージョンについては、「データ移行シナリオの概要」をご参照ください。インスタンスの作成方法については、「ApsaraDB RDS for SQL Server インスタンスの作成」をご参照ください。

  • 宛先インスタンスの空きストレージ容量が、ソースインスタンスのデータ総量よりも大きいこと。

重要

SQL Server 増分同期モード非ヒープテーブルにはログベース解析、ヒープテーブルには CDC ベースの増分同期 に設定した場合、ハイブリッドログベース解析モードが使用されます。このモードでサポートされるソースデータベースのバージョンは以下のとおりです。

  • Enterprise または Enterprise Evaluation エディション:SQL Server 2012、2014、2016、2019、または 2022

  • Standard エディション:SQL Server 2016、2019、または 2022

複数のタスクに分割するタイミング

ソースインスタンスに以下のいずれかの条件が該当する場合は、移行を複数のタスクに分割してください。

  • ソースインスタンスに 10 データベース以上含まれている

  • 単一のデータベースが 1 時間未満の間隔でログバックアップを実行している

  • 単一のデータベースが 1 時間に 100 件以上の DDL ステートメントを実行している

  • 単一のデータベースでログが 20 MB/s の速度で書き込まれている

  • 1,000 テーブル以上に対して Change Data Capture (CDC) を有効にする必要がある

課金

移行タイプタスク構成料金インターネットトラフィック料金
スキーマ移行および完全なデータ移行無料無料
増分データ移行課金対象です。「課金概要」をご参照ください。

移行タイプの選択

DTS は以下の 3 種類の移行タイプをサポートしています。要件に応じて組み合わせて使用してください。

移行タイプ機能使用タイミング
スキーマ移行選択したオブジェクトのスキーマをソースから送信先に移行します。常に最初のステップとして選択してください。
完全なデータ移行ソースから送信先に既存のすべてのデータを移行します。初期移行に必須です。
増分データ移行完全移行完了後、継続的にデータ変更を移行します。ダウンタイムを最小限に抑え、移行中にサービスを継続したい場合に選択してください。

スキーマ移行の完全なサポート対象については、「サポート対象および非サポート対象のオブジェクト」をご参照ください。

説明 DTS は外部キーを移行しません。ソースデータベースで定義されたカスケード操作および削除操作は、送信先に引き継がれません。

制限事項

タスクを構成する前に、以下の制限事項を確認してください。

ソースデータベースの要件

  • ソースデータベースがデプロイされているサーバーには十分なアウトバウンド帯域幅が必要です。そうでない場合、データ移行速度が低下します。

  • 移行対象のテーブルには PRIMARY KEY または UNIQUE 制約が設定されており、すべてのフィールドが一意である必要があります。そうしないと、送信先データベースに重複レコードが含まれる可能性があります。

  • 移行中にテーブル名または列名を変更する場合、単一の移行タスクで最大 1,000 テーブルまで移行できます。1,000 テーブルを超える場合は、複数のタスクを構成するか、テーブルレベルではなくデータベースレベルで移行してください。

  • 単一の移行タスクで最大 10 データベースまで移行できます。10 データベースを超える場合は、複数のタスクを構成してください。

増分データ移行を行う場合、さらに以下の点を確認してください。

  • データロギング機能が有効になっていること。バックアップモードは フル に設定されており、かつフル物理バックアップが実行済みであること。

  • ログ保持期間:ログ保持期間が不十分な場合、タスクが失敗したり、データの不整合やデータ損失が発生したりする可能性があります。これらの要件を満たさない場合、DTS のサービスレベル契約 (SLA) が無効になります。

    • 増分移行のみの場合:ログを 24 時間以上保持すること

    • 完全移行 + 増分移行の場合:ログを少なくとも 7 日間保持すること。完全移行完了後は、保持期間を 24 時間以上に設定できます。

CDC が有効なテーブルについては、以下の条件を満たす必要があります(満たさない場合、事前チェックに失敗します)。

  • sys.sysservers ビューの srvname フィールドが、SERVERPROPERTY 関数の戻り値と一致すること

  • データベースオーナーが sa(自己管理 SQL Server)または sqlsa(ApsaraDB RDS for SQL Server)であること

  • Enterprise エディション:SQL Server 2008 以降

  • Standard エディション:SQL Server 2016 SP1 以降

  • SQL Server 2017 を実行している Standard または Enterprise エディション:より新しいバージョンにスペックアップすること

その他のソースデータベースに関する制限事項:

  • スキーマ移行および完全なデータ移行中は、データベースまたはテーブルスキーマを変更する DDL ステートメントを実行しないでください。これにより、移行タスクが失敗します。

  • 増分移行を含めずに完全なデータ移行のみを実行する場合、移行中はソースデータベースへの書き込みを行わないでください。データの不整合を回避するには、スキーマ移行、完全なデータ移行、および増分データ移行の 3 つの移行タイプすべてを選択してください。

  • タスク完了前にソースデータベースのログをクリアしないでください。DTS はログ取得に fn_log 関数を使用しており、パフォーマンスボトルネックがあります。ログを早期にクリアすると、タスクが失敗する可能性があります。

  • 読み取り専用のソースインスタンスでは、DDL 操作の移行はサポートされません。

  • ハイブリッドログベース解析モードでは、同じテーブルに対して 10 分以内に複数回の列追加または列削除操作を実行しないでください。たとえば、以下の操作を 10 分以内に実行するとエラーが発生します。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • ソースが Web エディションの ApsaraDB RDS for SQL Server インスタンスの場合、SQL Server 増分同期モードソースデータベースのログに基づく増分同期(ヒープテーブルは非サポート) に設定してください。

その他の制限事項

  • DTS は以下のデータの型を移行しません:TEXTCURSORROWVERSIONSQL_VARIANTHIERACHYIDGEOMETRY

  • [ソースデータベースのログに基づく増分同期]」モード(非ハイブリッド)を使用する場合、テーブルにはプライマリキー列を含むクラスター化インデックスが必要です。ヒープテーブル、プライマリキーがないテーブル、圧縮テーブル、および計算列を含むテーブルはサポートされていません。ヒープテーブル、プライマリキーがないテーブル、圧縮テーブル、または計算列を含むテーブルについて確認するには、「よくある質問」をご参照ください。

  • 互換性のあるデータベースバージョン間でのみデータ移行を実行してください。

  • 単一の移行タスクで CDC が有効なテーブルが 1,000 を超える場合、事前チェックに失敗します。

  • ソースデータベースで CDC が有効なテーブルについては、1 秒あたりのレコード数の上限を 1,000 に設定することを推奨します。

  • 増分データ移行には、送信先データベースでトリガーおよび外部キーを無効にする必要があります。

  • ピーク時以外の時間帯に移行を実行してください。完全なデータ移行では、ソースおよび送信先の両方で読み取りおよび書き込みリソースが使用されるため、データベースサーバーの負荷が増加します。完全移行中の同時 INSERT 操作により、送信先データベースでテーブルの断片化が発生し、送信先の表領域がソースよりも大きくなる可能性があります。

  • DTS は、FLOAT および DOUBLE 列から値を取得する際に ROUND(COLUMN,PRECISION) を使用します。デフォルト精度は、FLOAT が 38 桁、DOUBLE が 308 桁です。移行を開始する前に、これらの精度設定が要件を満たしていることを確認してください。

  • DTS は、失敗した移行タスクを最大 7 日間自動的に再試行します。ワークロードを送信先データベースに切り替える前に、失敗したタスクを停止またはリリースするか、送信先の DTS アカウントの書き込み権限を取り消してください。そうしないと、再開されたタスクによって送信先のデータがソースデータで上書きされる可能性があります。

  • 増分データ移行中は、インデックスの再作成操作を実行しないでください。これにより、タスクが失敗し、データ損失が発生する可能性があります。また、DTS は CDC が有効なテーブルに対するプライマリキーの DDL 操作を移行できません。

説明 DTS は、RDS インスタンス内にターゲットデータベースを自動的に作成します。データベース名が ApsaraDB RDS の命名規則に準拠していない場合は、移行タスクの設定前にデータベースを手動で作成する必要があります。

サポート対象および非サポート対象のオブジェクト

スキーマ移行:サポート対象のオブジェクト

テーブル、ビュー、トリガー、シノニム、SQL ストアドプロシージャ、SQL 関数、プランガイド、ユーザー定義型、ルール、デフォルト、およびシーケンス。

スキーマ移行:非サポート対象のオブジェクト

アセンブリ、サービスブローカー、フルテキストインデックス、フルテキストカタログ、分散スキーマ、分散関数、共通言語ランタイム (CLR) ストアドプロシージャ、CLR スカラー値関数、CLR テーブル値関数、内部テーブル、システムオブジェクト、および集計関数。

増分データ移行でサポートされる SQL 操作

操作タイプサポートされる SQL ステートメント
DMLINSERTUPDATEDELETE
説明

大きなフィールドのみを変更する UPDATE 操作は移行されません。

DDLALTER TABLE(列の追加、列の削除、列名の変更のみ)、CREATE TABLECREATE INDEX(パーティションテーブルおよび関数を持つテーブルは移行されません)、DROP TABLERENAME TABLETRUNCATE TABLE
説明 トランザクション DDL 操作は移行されません。たとえば、複数の列に対する DDL を含む SQL 操作や、DDL と DML を混在させた操作は移行されません。これにより、データ損失が発生する可能性があります。
説明 ユーザー定義型を含む DDL 操作は移行されません。
説明 オンライン DDL 操作は移行されません。
説明 ハイブリッドログベース解析モードでは、一般的な DDL 操作がすべて移行されます。

必要な権限

データベーススキーマ移行完全なデータ移行増分データ移行
ソースインスタンス移行対象オブジェクトの読み取り権限owner 権限(ソースデータベース)アカウントの作成」および「アカウント権限の変更」をご参照ください。
送信先インスタンス送信先データベースの読み取りおよび書き込み権限(owner 権限を推奨)

移行タスクの構成

ステップ 1:データ移行タスクページへのアクセス

  1. Data Management (DMS) コンソール にログインします。

  2. 上部ナビゲーションバーで DTS にポインターを合わせ、DTS (DTS) > データ移行 の順に選択します。

説明 実際のナビゲーションは、DMS コンソールのレイアウトに応じて異なる場合があります。詳しくは、「シンプルモード」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。また、新しい DTS コンソールのデータ移行ページに直接アクセスすることもできます。

ステップ 2:リージョンの選択

データ移行タスク の右側にあるドロップダウンリストから、移行インスタンスが配置されているリージョンを選択します。

説明 新 DTS コンソールでは、左上隅でリージョンを選択します。

ステップ 3:ソースおよび送信先データベースの構成

タスクの作成 をクリックし、以下のパラメーターを構成します。

警告

ソースおよび送信先データベースを構成した後、ページ上部に表示される 制限事項 を必ずお読みください。このステップを省略すると、タスクが失敗したり、データの不整合が発生したりする可能性があります。

ソースデータベース

パラメーター説明
タスク名タスクのわかりやすい名前を指定します。DTS は自動的に名前を生成しますが、意味のある名前を指定することでタスクを識別しやすくなります。一意である必要はありません。
既存の DMS データベースインスタンスを選択(任意)すでに DMS データベースインスタンスを登録済みの場合は、ここで選択してください。DTS が以下のパラメーターを自動入力します。登録済みでない場合は、手動でパラメーターを構成してください。
データベースタイプSQL Server を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。ApsaraDB MyBase for SQL Server インスタンスは、このアクセス方法で DTS に接続します。
インスタンスリージョンソースの ApsaraDB MyBase for SQL Server インスタンスが配置されているリージョン。
Alibaba Cloud アカウント間でデータをレプリケート同一アカウント内の移行の場合は、いいえ を選択します。
RDS インスタンス IDソースの ApsaraDB MyBase for SQL Server インスタンスの ID。
データベースアカウントソースインスタンスのデータベースアカウント。「必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。

送信先データベース

パラメーター説明
既存の DMS データベースインスタンスを選択(任意)すでに DMS データベースインスタンスを登録済みの場合は、ここで選択してください。DTS が以下のパラメーターを自動入力します。登録済みでない場合は、手動でパラメーターを構成してください。
データベースタイプSQL Server を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンス リージョン送信先の ApsaraDB RDS for SQL Server インスタンスが配置されているリージョン。
インスタンス ID送信先の ApsaraDB RDS for SQL Server インスタンスのインスタンス ID。
データベースアカウント送信先インスタンスのデータベースアカウント。「必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。

ステップ 4:接続性テスト

接続性をテストして次へ をクリックします。

DTS は、DTS のサーバー CIDR ブロックを Alibaba Cloud データベースインスタンスの IP アドレスホワイトリストに自動的に追加します。 Elastic Compute Service (ECS) インスタンス上の自己管理データベースの場合、DTS は CIDR ブロックを ECS セキュリティグループルールに追加しますが、お客様は ECS インスタンスがデータベースにアクセスできることを確認する必要があります。 データベースが複数の ECS インスタンスで実行されている場合は、DTS の CIDR ブロックを各 ECS インスタンスのセキュリティグループに手動で追加する必要があります。 データセンターまたはサードパーティのクラウド環境の自己管理データベースの場合、DTS の CIDR ブロックをデータベースの IP アドレスホワイトリストに手動で追加する必要があります。 CIDR ブロックの完全なリストについては、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

警告

ホワイトリストまたはセキュリティグループに DTS CIDR ブロックを追加すると、セキュリティリスクが発生します。続行する前に、予防措置を講じてください。具体的には、ユーザー名とパスワードのセキュリティを強化し、公開ポートを制限し、API 呼び出しを認証し、定期的にホワイトリストおよびセキュリティグループルールを監査して、不正な CIDR ブロックを削除してください。Express Connect、VPN Gateway、または Smart Access Gateway を介してデータベースを DTS に接続することもできます。

ステップ 5:オブジェクトの選択と同期モードの構成

パラメーター説明
移行タイプシナリオに応じて移行タイプを選択します。ダウンタイムなしの完全移行を行う場合は、スキーマ移行完全なデータ移行、および 増分データ移行 を選択します。メンテナンスウィンドウ内で移行を行う場合は、スキーマ移行 および 完全なデータ移行 のみを選択しますが、移行中はソースデータベースへの書き込みを行わないでください。
競合テーブルの処理モード事前チェックを行い、エラーを報告オブジェクト名マッピング:送信先にソーステーブルと同じ名前のテーブルが存在する場合、事前チェックに失敗します。「」を使用して競合テーブルの名前を変更してください。エラーを無視して続行:同一テーブル名の事前チェックをスキップします。完全移行中は、送信先の競合レコードが保持されます(上書きされません)。増分移行中は、競合レコードが上書きされます。慎重に使用してください。
SQL Server 増分同期モード下記の「同期モードの選択」をご参照ください。
ソースオブジェクトソースオブジェクト セクションからオブジェクトを選択し、右矢印アイコンをクリックして 選択済みオブジェクト に移動します。列、テーブル、またはスキーマを選択できます。テーブルまたは列を選択すると、ビュー、トリガー、ストアドプロシージャは除外されます。
選択済みオブジェクト単一のオブジェクトの名前を変更するには、そのオブジェクトを右クリックし、「単一のオブジェクトの名前をマッピングする」をご参照ください。複数のオブジェクトを一度に名前変更するには、[バッチ編集] をクリックします。「複数のオブジェクト名を一度にマッピングする」をご参照ください。SQL 条件で行をフィルターするには、オブジェクトを右クリックして条件を指定します。「SQL 条件を使用してデータをフィルターする」をご参照ください。特定のオブジェクトに対して複製する SQL 操作を選択するには、オブジェクトを右クリックして操作を選択します。
説明 オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、それに依存する他のオブジェクトの移行が失敗する可能性があります。

同期モードの選択

ソースデータベースおよびテーブルタイプに応じて、SQL Server 増分同期モード を選択します。

モード利点欠点
非ヒープテーブルにはログベース解析、ヒープテーブルには CDC ベースの増分同期(ハイブリッドログベース解析)ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、計算列を持つテーブルをサポートします。安定性が高く、DDL を完全にサポートします。DTS はソースデータベースに dts_cdc_sync_ddl(トリガー)、dts_sync_progress(ハートビートテーブル)、および dts_cdc_ddl_history(DDL 履歴テーブル)を作成し、CDC を有効にします。SELECT INTO および TRUNCATE は CDC が有効なテーブルで実行できません。DTS が作成したトリガーは手動で削除できません。
ソースデータベースのログに基づく増分同期(ヒープテーブルは非サポート)ソースデータベースの設定を変更しません。ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、計算列を持つテーブルをサポートしません。テーブルにはプライマリキー列を含むクラスター化インデックスが設定されている必要があります。
CDC インスタンスのポーリングおよびクエリによる増分同期Amazon RDS SQL Server、Azure SQL Database、Google Cloud SQL for SQL Server からの移行をサポートします。ネイティブの CDC コンポーネントを使用するため、ネットワーク帯域幅を抑えつつ安定性を確保できます。DTS アカウントには CDC を有効にする権限が必要です。増分移行の開始まで約 10 秒かかります。複数のデータベースにわたる複数のテーブルを移行する場合、安定性およびパフォーマンスの問題が発生する可能性があります。
説明 ハイブリッドログベース解析モードでは、DTS はソースデータベースおよび特定のテーブルに対して CDC を有効にします。

ステップ 6:詳細設定の構成

次へ:詳細設定 をクリックし、以下のパラメーターを構成します。

データ検証設定

移行後のデータ検証を有効化するには、「データ検証を有効化する」をご参照ください。

詳細設定

パラメーター説明
タスクスケジューリング用専用クラスターデフォルトでは、DTS はタスクを共有クラスターにスケジュールします。専用クラスターを使用するには、まず購入する必要があります。詳細については、「DTS 専用クラスターとは
アラートの設定タスクが失敗した場合、または移行遅延がしきい値を超えた場合に通知を受信するには、[はい] を選択します。アラートのしきい値と通知設定を設定します。詳細については、「モニタリングとアラートの設定」をご参照ください。
接続失敗時の再試行時間タスク開始後に接続が失敗した場合の DTS の再試行時間です。有効値:10~1,440 分。デフォルト:720。30 分を超える値を設定することを推奨します。この期間内に DTS が再接続すると、タスクが再開されます。それ以外の場合は、タスクが失敗します。複数のタスクが同じソースまたは送信先データベースを共有する場合、最も短い再試行時間が優先されます。DTS は再試行中もインスタンスに対して課金します。
その他の問題発生時の再試行時間失敗した DDL または DML 操作の再試行時間です。有効値:1~1,440 分。デフォルト:10。10 分を超える値を設定することを推奨します。接続失敗時の再試行時間 より短くする必要があります。
完全なデータ移行のスロットリングを有効化はい を選択すると、完全移行中の読み取り/書き込み負荷を制限できます。ソースデータベースへの 1 秒あたりのクエリ数 (QPS)完全なデータ移行の RPS、および 完全なデータ移行の BPS を必要に応じて構成してください。完全なデータ移行 を選択した場合にのみ利用可能です。
増分データ移行のスロットリングを有効化はい を選択すると、増分移行中の負荷を制限できます。増分データ移行の RPS および 増分データ移行の BPS を必要に応じて構成してください。増分データ移行 を選択した場合にのみ利用可能です。
環境タグ環境に応じて、インスタンスを 通常 または 本番環境 としてタグ付けします。
ETL の構成[はい] を選択すると、ETL (抽出・変換・書き出し) 機能が有効になり、データ処理文を入力できます。「ETL の設定」および「ETL とは

ステップ 7:事前チェックの実行

次へ:タスク設定の保存と事前チェック をクリックします。

説明 このタスク構成の API パラメーターをプレビューするには、次へ:タスク設定の保存と事前チェック にポインターを合わせて、OpenAPI パラメーターをプレビュー をクリックします。

DTS は移行開始前に事前チェックを実行します。事前チェックに合格した後でのみ、タスクを続行できます。

  • 確認項目が失敗した場合は、詳細を表示 をクリックして問題を解決し、その後 再度事前チェック をクリックします。

  • 確認項目に警告が表示された場合:

    • 警告を無視できない場合は、詳細を表示 をクリックして問題を修正し、再度事前チェックを実行します。

    • 警告を安全に無視できる場合は、警告の詳細を確認 > 無視 > OK > 再度事前チェック の順にクリックします。警告を無視すると、データの不整合が発生する可能性があります。

ステップ 8:インスタンスの購入

成功率100% に達するまで待ち、次へ:インスタンスの購入 をクリックします。

インスタンスの購入 ページで、以下の内容を構成します。

セクションパラメーター説明
New Instance ClassResource Group Settings移行インスタンスのリソースグループです。デフォルト:default resource group。詳細については、「What is Resource Management?
Instance Classインスタンスクラスは移行速度を決定します。ご利用のデータ量とタイムラインに基づいて選択してください。詳細については、「Specifications of data migration instances」をご参照ください。

ステップ 9:移行の開始

  1. Data Transmission Service (従量課金) サービス利用規約 チェックボックスをオンにします。

  2. 購入して開始 をクリックし、ダイアログボックスで OK をクリックします。

タスクがタスクリストに表示されます。そこから進行状況を監視できます。

次のステップ

移行タスクが完了し、増分移行のレイテンシがほぼゼロに低下した後:

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

  2. 増分移行の遅延が 0 秒になるのを待ちます。

  3. アプリケーションの接続文字列を送信先の ApsaraDB RDS for SQL Server インスタンスに切り替えます。

  4. ソースと送信先のデータ整合性を検証します。

  5. DTS 移行タスクを停止またはリリースします。