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

Data Transmission Service:RDS SQL Server から RDS MySQL への移行

最終更新日:Feb 07, 2026

Data Transmission Service (DTS) は、RDS SQL Server から RDS MySQL へのデータ移行をサポートしています。

前提条件

  • DTS がご利用の RDS SQL Server インスタンスのバージョンをサポートしていることを確認します。

    説明

    サポートされているバージョンの詳細については、「移行ソリューションの概要」をご参照ください。

  • 移行先の RDS MySQL インスタンスを作成します。移行先インスタンスのストレージ容量は、ソースの RDS SQL Server インスタンスの使用済みストレージ容量よりも大きい必要があります。インスタンスの作成方法の詳細については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。

  • ソースインスタンスが次のいずれかの条件を満たす場合は、移行を複数のタスクに分割します。

    • データベースの数が 10 を超える。

    • 単一のデータベースで 1 時間に 1 回以上ログバックアップが実行される。

    • 単一のデータベースで 1 時間に 100 回以上 DDL 操作が実行される。

    • 単一のデータベースのログボリュームが 20 MB/s を超える。

    • 1,000 を超えるテーブルに対して変更データキャプチャ (CDC) を有効にする必要がある。

注意事項

説明
  • スキーマ移行中、DTS は外部キーをソースデータベースからターゲットデータベースに移行します。

  • 完全データ移行および増分データ移行中、DTS はセッションレベルで制約チェックと外部キーのカスケード操作を一時的に無効にします。タスクの実行中にソースデータベースでカスケード更新または削除操作が発生した場合、データ不整合が発生する可能性があります。

タイプ

説明

ソースデータベースの制限

  • 帯域幅要件:ソースデータベースをホストするサーバーには、十分なアウトバウンド帯域幅が必要です。そうでない場合、データ移行速度に影響が出ます。

  • 移行対象のテーブルには、プライマリキーまたは一意制約が必要であり、フィールドは一意である必要があります。そうでない場合、ターゲットデータベースに重複データが出現する可能性があります。

  • テーブルレベルのオブジェクトを移行し、テーブル名や列名のマッピングなどの編集が必要な場合、単一のデータ移行タスクでサポートされるテーブルは最大 1,000 です。この制限を超えると、タスクの送信後にエラーが報告されます。この場合、テーブルを複数の移行タスクに分割するか、データベース全体を移行するタスクを設定してください。

  • 単一のデータ移行タスクでサポートされるデータベースは最大 10 です。この制限を超えると、安定性やパフォーマンスの問題が発生する可能性があります。この場合、データベースを複数の移行タスクに分割してください。

  • データベース全体ではなく特定のオブジェクトを移行するタスクを設定した場合、同じ名前でスキーマ名が異なるテーブルを同じターゲットデータベースに移行することはできません。

  • 増分移行の場合、データログは次の要件を満たす必要があります:

    • ログが有効になっている必要があります。バックアップモードは「完全」に設定されている必要があります。完全物理バックアップが正常に実行されている必要があります。

    • 増分移行タスクの場合、Data Transmission Service (DTS) はソースデータベースのデータログを 24 時間以上保持することを要求します。完全移行と増分移行の両方を含むタスクの場合、DTS はソースデータベースのデータログを少なくとも 7 日間保持することを要求します。完全移行が完了した後、ログ保持期間を 24 時間以上に変更できます。そうでない場合、DTS がデータログを取得できないため、DTS タスクが失敗する可能性があります。極端な場合、データ不整合やデータ損失が発生する可能性があります。必要な期間よりも短いログ保持期間に起因する問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

  • ソースデータベースから移行するテーブルに対して変更データキャプチャ (CDC) を有効にするには、次の条件を満たす必要があります。そうでない場合、事前チェックは失敗します。

    • `sys.sysservers` ビューの `srvname` フィールドの値は、`SERVERPROPERTY` 関数の戻り値と同じでなければなりません。

    • ソースデータベースが自己管理の SQL Server インスタンスの場合、データベース所有者は `sa` である必要があります。ソースデータベースが RDS for SQL Server インスタンスの場合、データベース所有者は `sqlsa` である必要があります。

    • ソースデータベースが Enterprise Edition の場合、SQL Server 2008 以降である必要があります。

    • ソースデータベースが Standard Edition の場合、SQL Server 2016 SP1 以降である必要があります。

    • ソースデータベースが SQL Server 2017 (Standard または Enterprise Edition) の場合、データベースのバージョンをアップグレードしてください。

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

  • ソースデータベースの操作制限:

    • 初期スキーマ同期および完全データ移行中は、データベースまたはテーブルのスキーマを変更する DDL 操作を実行しないでください。そうでない場合、データ移行タスクは失敗します。

    • 完全データ移行のみを実行する場合、ソースインスタンスに新しいデータを書き込まないでください。そうでない場合、ソースデータベースとターゲットデータベースの間でデータ不整合が発生します。リアルタイムのデータ整合性を確保するには、初期スキーマ同期、完全データ移行、および増分データ移行を選択してください。

  • ソースデータベースが読み取り専用インスタンスの場合、DDL 操作は移行できません。

  • ソースデータベースが Azure SQL Database の場合、1 つの DTS インスタンスで移行できるデータベースは 1 つだけです。

  • ソースデータベースが RDS for SQL Server インスタンスで、移行タスクに増分移行が含まれる場合、DTS インスタンスの安定性を確保するために TDE (透過的データ暗号化) を無効にしてください。詳細については、「TDE の無効化」をご参照ください。

  • 初期スキーマ同期タスクが実行される前に sp_rename コマンドを使用してソースデータベース内のストアドプロシージャなどのオブジェクト名を変更すると、タスクが期待どおりに動作しないか、失敗する可能性があります。

    説明

    データベース内のオブジェクトの名前を変更するには、ALTER コマンドを使用します。

  • ハイブリッドログ解析モードでは、10 分未満の間隔でソースデータベースの列を追加または削除する複数の操作を連続して実行することはできません。たとえば、次の SQL 文を連続して実行すると、タスクはエラーを報告します。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • ソースデータベースが Web エディションの RDS for SQL Server インスタンスの場合、タスクを設定する際に、SQL Server 増分同期モードソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定する必要があります。

  • 完全なデータ移行中は、ソースデータベースで READ_COMMITTED_SNAPSHOT トランザクション処理モードのパラメーターが有効になっていることを確認してください。これにより、共有ロックがデータ書き込みに影響を与えるのを防ぎます。そうでない場合、データ不整合やインスタンス障害などの例外が発生する可能性があります。この問題によって引き起こされる例外は、DTS SLA の対象外です。

その他の制限

  • 複雑な DDL 操作は移行できません。

  • 以下のデータ型のデータは移行できません:CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY、GEOGRAPHY、および CREATE TYPE コマンドを使用して作成されたユーザー定義データ型。

  • 次のタイプのオブジェクトは移行できません:PROCEDURE、FUNCTION、TRIGGER、DATATYPE、SYNONYM、CATALOG、PLAN_GUIDE、および SEQUENCE。

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

  • データに 4 バイト文字 (珍しい漢字や絵文字など) が含まれている場合、ターゲットデータベースとテーブルは utf8mb4 文字セットを使用する必要があります。

    説明

    DTS を使用してスキーマを移行する場合、ターゲットデータベースでインスタンスレベルのパラメーター character_set_server を utf8mb4 に設定します。

  • タスクに増分移行が含まれ、CDC が有効化されたテーブルの単一フィールドに書き込まれるデータが 64 KB を超える場合、ソースデータベースの構成を事前に調整するために、exec sp_configure 'max text repl size', -1; コマンドを実行する必要があります。

    説明

    デフォルトでは、CDC ジョブは最大長 64 KB の単一フィールドを処理できます。

  • データを移行する前に、ソースデータベースとターゲットデータベースのパフォーマンスを評価してください。オフピーク時にデータを移行することを推奨します。そうでない場合、DTS は完全データ移行中にソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを消費し、データベースの負荷が増加する可能性があります。

  • 移行タスクに増分データ移行が含まれている場合は、インデックスの再作成を実行できません。インデックスの再作成を行うと、タスクが失敗したり、データが失われたりする可能性があります。

    説明

    CDC が有効になっているテーブルのプライマリキーは変更できません。

  • オブジェクト設定 ステップで SQL Server 増分同期モードソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) を選択した場合、移行対象のテーブルにはプライマリキー列を含むクラスター化インデックスが必要です。移行対象のテーブルは、ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、計算列のあるテーブル、またはスパース列のあるテーブルであってはなりません。混合ログ解析モードでは、これらの制限は適用されません。

  • オブジェクト設定 ステップで SQL Server 増分同期モードクラスター化テーブルはログ解析で増分同期し、ヒープテーブルの場合は CDC で増分同期します (ハイブリッド式ログ解析) に設定した場合、以下の制限も適用されます。

    • DTS による増分移行は CDC コンポーネントに依存します。ソースデータベースの CDC ジョブが実行中であることを確認してください。そうでない場合、DTS タスクは失敗します。

    • デフォルトでは、CDC コンポーネントに保存された増分データは 3 日間保持されます。保持期間を調整するには、exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; コマンドの使用を推奨します。

      説明
      • <time> は、分単位の時間を指定します。

      • ソースデータベースの単一テーブルにおける増分変更 SQL 文の数が 1 日あたり 1,000 万を超える場合は、<time> を 1440 に設定することをお勧めします。

    • 単一の移行タスクでは、CDC を有効にするテーブルは 1,000 以下にすることを推奨します。そうでない場合、タスクの遅延や不安定さが発生する可能性があります。

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

  • オブジェクト設定 ステップで SQL Server 増分同期モード増分同期のための CDC インスタンスのポーリングとクエリ に設定した場合、以下の制限も適用されます:

    • DTS インスタンスが使用するソースデータベースアカウントには、CDC を有効にする権限が必要です。データベースレベルの CDC を有効にするには、sysadmin ロールを持つアカウントが必要です。テーブルレベルの CDC を有効にするには、特権アカウントが必要です。

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

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

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

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

    • DTS は、ソースデータベースの各テーブルの CDC インスタンスをポーリングして増分データを取得します。したがって、ソースデータベースから移行するテーブルは 1,000 以下にすることを推奨します。そうでない場合、タスクの遅延や不安定さが発生する可能性があります。

    • デフォルトでは、CDC コンポーネントの増分データは 3 日間保持されます。exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; コマンドを使用して保持期間を調整することをお勧めします。

      説明
      • <time> は、時間を分単位で指定します。

      • ソースデータベース内の単一テーブルの増分変更SQL文の数が1日あたり1000万件を超える場合、<time> を 1440 に設定することを推奨します。

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

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

  • ターゲットデータベースで DDL の書き込みが失敗した場合、DTS タスクは実行を継続します。タスクログで失敗した DDL 文を確認してください。手順については、「タスクログの表示」をご参照ください。

  • 同じ名前で大文字と小文字が異なる列を同じターゲット MySQL データベースのテーブルに書き込むと、予期しない結果が発生する可能性があります。MySQL の列名は大文字と小文字を区別しません。

  • 移行が完了した後—タスクのステータスが ステータス で、ステータスが 完了 に変更されたら—analyze table <table_name> を実行して、すべてのデータが宛先テーブルに書き込まれたことを確認します。たとえば、宛先の MySQL データベースで高可用性(HA)スイッチオーバーが発生した場合、データがメモリに残ってディスクに到達しないままになる可能性があり、データ損失を引き起こすことがあります。

  • 増分データ移行の遅延の正確性を確保するために、DTS はログ解析モードでソースデータベースに `dts_cdc_sync_ddl` トリガー、`dts_sync_progress` ハートビートテーブル、および `dts_cdc_ddl_history` DDL ストレージテーブルを作成します。ハイブリッド増分同期モードでは、DTS は `dts_cdc_sync_ddl` トリガー、`dts_sync_progress` ハートビートテーブル、および `dts_cdc_ddl_history` DDL ストレージテーブルを作成し、データベースレベルの CDC と一部のテーブルの CDC を有効にします。ソースデータベースで CDC が有効になっているテーブルのデータ変更率は、1 秒あたり 1,000 レコード (RPS) を超えないようにすることを推奨します。

  • 完全データ移行には同時 INSERT 操作が含まれるため、ターゲットデータベースでテーブルの断片化が発生します。したがって、完全データ移行が完了した後、ターゲットデータベースのテーブルストレージ容量はソースインスタンスよりも大きくなります。

  • 複数の DTS インスタンスが同じ SQL Server データベースをソースとして使用する場合、それらの増分データ取り込みモジュールは互いに独立しています。

  • タスクが失敗した場合、DTS のサポートスタッフは 8 時間以内に復旧を試みます。復旧中、タスクを再起動したり、パラメーターを調整したりすることがあります。

    説明

    データベースパラメーターではなく、DTS タスクパラメーターのみが変更されます。調整される可能性のあるパラメーターには、「インスタンスパラメーターの変更」に記載されているものが含まれます。

  • SQL Server は商用のクローズドソースデータベースです。既知または未知のフォーマット固有の制限により、DTS が SQL Server ログに対して CDC と解析を実行する際に問題が発生する可能性があります。したがって、本番環境で SQL Server ソースの増分同期または移行を有効にする前に、包括的な概念実証 (POC) テストを実施することを推奨します。テストには、すべてのビジネス変更タイプ、テーブルスキーマの変更、およびビジネスのピーク時のストレステストが含まれている必要があります。SQL Server ログフォーマットの予測不可能な性質のため、本番環境のビジネスロジックが POC テストのロジックと一致していることを確認する必要があります。これは、DTS の高い効率と安定性を確保するための鍵です。

特殊なケース

ソースインスタンスが RDS for SQL Server インスタンスの場合、DTS はデータ移行用にソースインスタンスに rdsdt_dtsacct アカウントを作成します。タスクの実行中に、このアカウントを削除したり、そのパスワードを変更したりしないでください。そうしないと、タスクが失敗することがあります。詳細については、「システムアカウント」をご参照ください。

課金

移行タイプ

リンク設定料金

データ転送料金

スキーマ移行と完全データ移行

無料です。

この例では無料です。

説明

ターゲットデータベースの アクセス方法パブリック IP アドレス に設定した場合、データ転送に対して課金されます。詳細については、「課金の概要」をご参照ください。

増分データ移行

料金が発生します。詳細については、「課金の概要」をご参照ください。

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

操作タイプ

SQL 操作

DML

INSERT、UPDATE、DELETE

説明

ラージオブジェクト列のみを変更する UPDATE 文はサポートされていません。

DDL

  • CREATE TABLE

  • ALTER TABLE (ADD COLUMN と DROP COLUMN のみを含む)

  • DROP TABLE

  • CREATE INDEX、DROP INDEX

説明
  • ユーザー定義型を含む DDL 操作は移行できません。

  • オンライン DDL 操作は移行できません。

  • トランザクション DDL 操作は移行できません。たとえば、単一の SQL 文で複数の列を追加する DDL 操作や、単一の SQL 文に DDL と DML の両方を含む操作は、データ損失を引き起こす可能性があります。

  • 予約キーワードを属性名として使用する DDL 操作は移行できません。

  • システムストアドプロシージャによって実行される DDL 操作は移行できません。

  • TRUNCATE TABLE 操作はサポートされていません。

  • テーブル定義内のパーティションと関数はサポートされていません。

データベースアカウントに必要な権限

データベース

スキーマ移行

完全移行

増分移行

RDS SQL Server インスタンス

移行対象オブジェクトに対する読み取り権限

移行対象オブジェクトに対する読み取り権限

移行対象オブジェクトに対する所有者権限

RDS MySQL インスタンス

読み取りおよび書き込み権限

次のようにデータベースアカウントを作成し、権限を付与できます:

操作手順

  1. 次のいずれかの方法で、ターゲットリージョンの移行タスクリストページに移動します。

    DTS コンソールから

    1. Data Transmission Service (DTS) コンソール」にログインします。

    2. 左側のナビゲーションウィンドウで、データの移行 をクリックします。

    3. ページの左上隅で、移行インスタンスが配置されているリージョンを選択します。

    DMS コンソールから

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモードコンソール」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。

    1. 「Data Management (DMS) コンソール」にログインしてください。Data Management (DMS) コンソール

    2. トップメニューバーで、[Data + AI] > [Data Transmission (DTS)] > [Data Migration] を選択します。

    3. データ移行タスク」の右側で、移行インスタンスが配置されているリージョンを選択します。

  2. [タスクの作成] をクリックして、タスク構成ページに移動します。

  3. ソースデータベースとターゲットデータベースを設定します。

    警告

    ソースインスタンスと宛先インスタンスを選択した後、ページの上部に表示される制限を注意深くお読みになることを推奨します。そうしないと、タスクが失敗したり、データ不整合が発生したりする可能性があります。

    カテゴリ

    設定

    説明

    N/A

    タスク名

    DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。

    移行元データベース

    既存の接続情報の選択

    • システムに追加された (作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報が自動的に設定されます。

      説明

      DMS コンソールでは、このパラメーターは DMS データベースインスタンスの選択 と名付けられています。

    • データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。

    データベースタイプ

    SQL Server を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    ソースの RDS SQL Server インスタンスが存在するリージョンを選択します。

    Alibaba Cloud アカウント間でデータを複製

    この例では、同じ Alibaba Cloud アカウントに属するインスタンス間でデータを移行する方法を示します。× を選択します。

    RDS インスタンス ID

    ソースの RDS SQL Server インスタンスの ID を選択します。

    データベースアカウント

    ソースの RDS SQL Server インスタンスのデータベースアカウントを入力します。必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。

    データベースのパスワード

    データベースアカウントのパスワードを入力します。

    暗号化

    お使いの環境に応じて、非暗号化 または SSL 暗号化 を選択します。

    • ソースデータベースで SSL 暗号化が無効になっている場合、非暗号化 を選択します。

    • ソースデータベースで SSL 暗号化が有効になっている場合は、SSL 暗号化 を選択します。DTS はデフォルトでサーバー証明書を信頼します。

    移行先データベース

    既存の接続情報の選択

    • システムに追加された (作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報が自動的に設定されます。

      説明

      DMS コンソールでは、このパラメーターは DMS データベースインスタンスの選択 と名付けられています。

    • データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。

    データベースタイプ

    MySQL を選択します。

    アクセス方法

    [Alibaba Cloud Instance] を選択します。

    インスタンスのリージョン

    ターゲットの RDS MySQL インスタンスが存在するリージョンを選択します。

    Alibaba Cloud アカウント間でデータを複製

    この例では、同じ Alibaba Cloud アカウントに属するインスタンス間でデータを移行する方法を示します。× を選択します。

    RDS インスタンス ID

    ターゲットの RDS MySQL インスタンスの ID を選択します。

    データベースアカウント

    ターゲットの RDS MySQL インスタンスのデータベースアカウントを入力します。必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。

    データベースのパスワード

    データベースアカウントのパスワードを入力します。

    暗号化

    データベースの要件に基づいて、非暗号化 または SSL 暗号化 を選択します。このパラメーターを SSL 暗号化 に設定する場合は、事前に RDS for MySQL インスタンスの SSL 暗号化を有効にしておく必要があります。詳細については、「クラウド証明書を使用して SSL 暗号化を迅速に有効化する」をご参照ください。

  4. 構成が完了したら、ページの下部にある接続をテストして続行をクリックします。

    説明
    • DTS サーバーからのアクセスを許可するために、DTS サービスの IP アドレスセグメントがソースおよびターゲットデータベースのセキュリティ設定に自動または手動で追加されていることを確認してください。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。

    • ソースまたはターゲットデータベースが自己管理データベース(アクセス方法Alibaba Cloud インスタンス でない場合)、表示される DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックする必要があります。

  5. タスクオブジェクトを設定します。

    1. オブジェクト設定」ページで、移行するオブジェクトを設定します。

      設定

      説明

      移行タイプ

      • 完全移行のみが必要な場合は、スキーマ移行完全データ移行 の両方を選択します。

      • ダウンタイムなしで移行を実行するには、スキーマ移行完全データ移行、および増分データ移行を選択します。

      説明
      • スキーマ移行 を選択しない場合は、データを受信するデータベースとテーブルがターゲットデータベースに存在することを確認してください。また、必要に応じて 選択中のオブジェクト ボックスのオブジェクト名マッピング機能を使用することもできます。

      • 増分データ移行」を選択しない場合は、データ整合性を確保するために、データ移行中にソースインスタンスに新しいデータを書き込まないでください。

      移行元データベースと移行先データベースのスキーママッピングモード

      ビジネスニーズに基づいてスキーママッピングモードを選択し、ソースデータベースとターゲットデータベース間のスキーマをマッピングします。

      警告

      ソースデータベース内の複数のスキーマに同じ名前のテーブルを含めることはできません。そうしないと、データ不整合やタスクの失敗が発生する可能性があります。

      SQL Server 増分同期モード

      • クラスター化テーブルはログ解析で増分同期し、ヒープテーブルの場合は CDC で増分同期します (ハイブリッド式ログ解析):

        • 利点:

          • ソースのヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、または計算列のあるテーブルを含むシナリオをサポートします。

          • 高いリンク安定性を提供します。このモードは完全な DDL 文を取得でき、幅広い DDL シナリオをサポートします。

        • 欠点:

          • DTS はソースデータベースに `dts_cdc_sync_ddl` トリガー、`dts_sync_progress` ハートビートテーブル、および `dts_cdc_ddl_history` DDL ストレージテーブルを作成します。また、データベースレベルの CDC と一部のテーブルの CDC も有効にします。

          • ソースデータベースで CDC が有効になっているテーブルに対して `SELECT INTO`、`TRUNCATE`、または `RENAME COLUMN` 文を実行することはできません。ソースデータベースで DTS によって作成されたトリガーを手動で削除することはできません。

      • ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応)

        • 利点:

          このモードはソースデータベースに対して非侵入型です。

        • 欠点:

          このモードは、ソースのヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、または計算列のあるテーブルを含むシナリオをサポートしません。

      • 増分同期のための CDC インスタンスのポーリングとクエリ:

        • 利点:

          • ソースデータベースが Amazon RDS for SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure SQL Server on Virtual Machine、または Google Cloud SQL for SQL Server の場合に、完全移行と増分移行をサポートします。

          • このモードは、SQL Server のネイティブ CDC コンポーネントを使用して増分データを取得するため、増分移行の安定性が向上し、ネットワーク帯域幅の使用量が削減されます。

        • 欠点:

          • DTS インスタンスが使用するソースデータベースアカウントには、CDC を有効にする権限が必要です。増分データ移行には約 10 秒の遅延があります。

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

      説明

      このパラメーターは、「増分データ移行」を「移行タイプ」で選択した場合にのみ利用できます。

      DTS がサポートする CDC が有効になっているテーブルの最大数の制限

      この移行インスタンスで CDC を有効にできるテーブルの最大数を指定します。デフォルト値は 1,000 です。

      説明

      このオプションは、SQL Server 増分同期モードソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定されている場合は表示されません。

      競合するテーブルの処理モード

      • エラーの事前チェックと報告:ターゲットデータベースに同じ名前のテーブルが存在するかどうかをチェックします。同じ名前のテーブルが存在しない場合、事前チェックは合格します。同じ名前のテーブルが存在する場合、事前チェック中にエラーが報告され、データ移行タスクは開始されません。

        説明

        ターゲットデータベースのテーブルが同じ名前で、簡単に削除または名前変更できない場合は、ターゲットデータベースのテーブルの名前を変更できます。詳細については、「オブジェクト名マッピング」をご参照ください。

      • エラーを無視して続行: 同名のテーブルのチェックをスキップします。

        警告

        エラーを無視して続行」を選択すると、データの不整合およびビジネスリスクを引き起こす可能性があります。例:

        • テーブルスキーマが一貫しており、ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキー値を持つ場合:

          • 完全移行中、DTS はターゲットデータベースのレコードを保持します。ソースデータベースからのレコードは移行されません。

          • 増分移行中、DTS はターゲットデータベースのレコードを保持しません。ソースデータベースからのレコードがターゲットデータベースのレコードを上書きします。

        • テーブルスキーマが不整合な場合、一部の列のデータのみが移行されるか、移行が失敗する可能性があります。注意して進めてください。

      移行先インスタンスでのオブジェクト名の大文字化

      移行対象オブジェクト(例:データベース、テーブル、および列)の名前について、宛先インスタンスで大文字小文字の区別ポリシーを設定できます。デフォルトでは、DTS のデフォルトポリシー が選択されています。また、ソースまたはターゲットデータベースのデフォルトポリシーと一致するように、大文字小文字の区別を維持することもできます。詳細については、「宛先データベースにおけるオブジェクト名の大文字小文字の区別」をご参照ください。

      ソースオブジェクト

      [ソースオブジェクト] ボックスで、移行するオブジェクトをクリックし、右向き矢印 をクリックして [選択中のオブジェクト] ボックスに移動します。

      説明

      データベース、テーブル、または列レベルで移行するオブジェクトを選択できます。テーブルまたは列を選択した場合、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトはターゲットデータベースに移行されません。

      選択中のオブジェクト

      • 宛先インスタンスに移行するオブジェクトの名前を変更するには、[選択されたオブジェクト] セクションでそのオブジェクトを右クリックします。詳細については、「個別のテーブル列マッピング」をご参照ください。

      • 複数のオブジェクトの名前を一度に変更するには、[選択したオブジェクト] セクションの右上隅にある [一括編集] をクリックします。 詳細については、「複数のオブジェクト名を一度にマッピングする」をご参照ください。

      説明
      • オブジェクト名マッピング機能を使用すると、マッピングされたオブジェクトに依存する他のオブジェクトの移行が失敗する可能性があります。

      • WHERE 句を使用してデータをフィルターするには、選択中のオブジェクト ボックス内の移行対象のテーブルを右クリックし、表示されるダイアログボックスでフィルター条件を設定します。フィルター条件の設定方法について詳しくは、「フィルター条件の設定」をご参照ください。

      • 増分移行用の SQL 操作をデータベースレベルまたはテーブルレベルで選択するには、選択中のオブジェクト ボックス内の移行対象のオブジェクトを右クリックし、表示されるダイアログボックスで目的の増分移行用 SQL 操作を選択します。

    2. 高度なパラメーターを設定するには、詳細設定へ をクリックします。

      設定

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      デフォルトでは、DTS は共有クラスターでタスクをスケジュールします。選択する必要はありません。より安定したタスクが必要な場合は、DTS 移行タスクを実行するために専用クラスターを購入できます。

      失敗した接続の再試行時間

      移行タスクが開始された後、ソースまたはターゲットデータベースへの接続が失敗した場合、DTS はエラーを報告し、すぐに接続のリトライを開始します。デフォルトのリトライ時間は 720 分です。リトライ時間を 10 分から 1440 分の間の値にカスタマイズできます。30 分以上に設定することを推奨します。指定された時間内に DTS がソースおよびターゲットデータベースに再接続した場合、移行タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      説明
      • 同じソースまたはターゲットを共有する複数の DTS インスタンスの場合、ネットワークリトライ時間は最後に作成されたタスクの設定によって決まります。

      • 接続リトライ期間中はタスクに料金が発生するため、ビジネスニーズに基づいてリトライ時間をカスタマイズするか、ソースおよびターゲットデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      移行タスクが開始された後、ソースまたはターゲットデータベースで DDL または DML 実行例外などの接続以外の問題が発生した場合、DTS はエラーを報告し、すぐに操作のリトライを開始します。デフォルトのリトライ時間は 10 分です。リトライ時間を 1 分から 1440 分の間の値にカスタマイズできます。10 分以上に設定することを推奨します。指定されたリトライ時間内に関連する操作が成功した場合、移行タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値より小さくする必要があります。

      完全移行率を制限するかどうか

      完全移行中、DTS はソースデータベースおよびターゲットデータベースの読み取りおよび書き込みリソースを消費するため、データベースの負荷が増加する場合があります。必要に応じて、完全移行タスクに対して速度制限を有効化できます。1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および1 秒あたりの完全移行データ量 (MB) BPSを設定して、ターゲットデータベースの負荷を軽減できます。

      説明
      • この設定項目は、移行タイプ完全データ移行 を選択した場合にのみ利用可能です。

      • 移行インスタンスの実行後に完全移行速度を調整することもできます。

      増分移行率を制限するかどうか

      必要に応じて、増分移行タスクに速度制限を設定することもできます。1 秒あたりの増分移行の行数 RPS1 秒あたりの増分移行データ量 (MB) BPS を設定することで、ターゲットデータベースの負荷を軽減できます。

      説明
      • この設定項目は、増分データ移行移行タイプ で選択した場合にのみ利用できます。

      • 移行インスタンスの実行後に増分移行速度を調整することもできます。

      環境タグ

      必要に応じて環境タグを選択してインスタンスを識別できます。この例では、選択は不要です。

      ETL 機能の設定

      抽出・変換・書き出し (ETL) 機能を有効にするかどうかを選択します。詳細については、「ETL とは?」をご参照ください。有効な値:

      監視アラート

      ビジネスニーズに基づいて、アラートを設定し、アラート通知を受け取るかどうかを選択します。

      • ×: アラートを設定しません。

      • : アラートのしきい値アラート通知を設定してアラートを構成します。移行が失敗するか、レイテンシーがしきい値を超えると、システムからアラート通知が送信されます。

    3. データ検証タスクを設定するには、[次へ: データ検証] をクリックします。

      データ検証機能の詳細については、「データ検証の設定」をご参照ください。

  6. タスクを保存し、事前チェックを実行します。

    • このインスタンスの設定用パラメーターを API 操作呼び出し時に表示するには、次:タスク設定の保存と事前チェック ボタンにポインターを移動し、表示される吹き出し内の OpenAPI パラメーターのプレビュー をクリックします。

    • API パラメーターを表示する必要がない場合、または表示が完了した場合は、ページの下部にある次:タスク設定の保存と事前チェックをクリックします。

    説明
    • 移行タスクが開始される前に、DTS は事前チェックを実行します。タスクは事前チェックに合格した後にのみ開始されます。

    • 事前チェックが失敗した場合、失敗したチェック項目の横にある詳細を表示をクリックし、プロンプトに基づいて問題を修正して、事前チェックを再実行してください。

    • 事前チェック中に警告が報告された場合:

      • 無視できないチェック項目については、失敗した項目の横にある 詳細を表示 をクリックし、表示されるメッセージに従って問題を修正した後、事前チェックを再度実行してください。

      • 無視できるチェック項目については、アラートの詳細を確認無視OK再度事前チェックを実行 をクリックして、アラート項目をスキップし、再度事前チェックを実行できます。 警告を無視すると、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

  7. インスタンスを購入します。

    1. 成功率」が 100% の場合、「次:インスタンスの購入」をクリックします。

    2. 購入」ページで、データ移行インスタンスのリンク仕様を選択します。詳細については、次の表をご参照ください。

      カテゴリ

      パラメーター

      説明

      新しいインスタンスクラス

      リソースグループの設定

      インスタンスが属するリソースグループを選択します。デフォルト値はデフォルトリソースグループです。詳細については、「Resource Management とは?」をご参照ください。

      インスタンスクラス

      DTS は、異なるパフォーマンスレベルの移行仕様を提供します。リンク仕様は移行速度に影響します。ビジネスシナリオに基づいて仕様を選択できます。詳細については、「データ移行リンク仕様」をご参照ください。

    3. 構成が完了したら、Data Transmission Service (従量課金) 利用規約をお読みいただき、選択します。

    4. 購入して起動]をクリックします。表示される[OK]ダイアログボックスで、[OK]をクリックします。

      移行タスクの進捗は、データ移行タスク 一覧ページで確認できます。

      説明
      • 移行タスクに増分移行が含まれていない場合、完全移行が完了すると自動的に停止します。タスクが停止すると、そのステータス完了に変化します。

      • 移行タスクに増分移行が含まれている場合、タスクは自動的に停止しません。増分移行タスクは実行を継続し、そのステータス実行中になります。