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

Data Transmission Service:ApsaraDB RDS for SQL Server インスタンスから AnalyticDB for MySQL V3.0 クラスタへのデータ同期

最終更新日:Jun 12, 2025

このトピックでは、Data Transmission Service (DTS) を使用して、ApsaraDB RDS for SQL Server インスタンスから AnalyticDB for MySQL クラスタにデータを同期する方法について説明します。データ同期機能を使用すると、リアルタイムのデータ分析のためにデータを簡単に転送できます。

前提条件

  • RDS インスタンスが作成されていること。サポートされている SQL Server のバージョンについては、「データ同期シナリオの概要」をご参照ください。RDS インスタンスの作成方法については、「ApsaraDB RDS for SQL Server インスタンスの作成と使用」をご参照ください。

    重要

    [SQL Server 増分同期モード] パラメータが [非ヒープテーブルのログベース解析とヒープテーブルの CDC ベースの増分同期] に設定されている場合、データはハイブリッドログベース解析モードで同期され、以下のバージョンのソースデータベースがサポートされます。

    • Enterprise エディションまたは Enterprise Evaluation エディションの自己管理 SQL Server または ApsaraDB RDS for SQL Server データベース:バージョン 2012、2014、2016、または 2019。

    • Standard エディションの自己管理 SQL Server または ApsaraDB RDS for SQL Server データベース:バージョン 2016 または 2019。

  • AnalyticDB for MySQL クラスタが作成されていること。詳細については、「クラスタの作成」をご参照ください。

  • AnalyticDB for MySQL クラスタの使用可能なストレージが、RDS インスタンスのストレージ容量よりも大きいこと。

  • ソース ApsaraDB RDS for SQL Server インスタンスが以下のいずれかの条件を満たす場合、同期タスクを複数のサブタスクに分割することをお勧めします。

    • ソースインスタンスに 10 個を超えるデータベースが含まれている。

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

    • ソースインスタンスの単一データベースが 1 時間ごとに 100 個を超える DDL 文を実行している。

    • ソースインスタンスの単一データベースのログ書き込み速度が 20 MB/s である。

    • ソース ApsaraDB RDS for SQL Server インスタンスの 1,000 個を超えるテーブルで変更データキャプチャ (CDC) 機能を有効にする必要がある。

使用上の注意

説明
  • スキーマ同期中、DTS はソースデータベースからターゲットデータベースに外部キーを同期しません。

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

制限タイプ

説明

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

  • 同期対象のテーブルには、PRIMARY KEY または UNIQUE 制約が設定されている必要があり、すべてのフィールドが一意である必要があります。そうでない場合、ターゲットデータベースに重複したデータレコードが含まれる可能性があります。

  • 同期対象のオブジェクトとしてテーブルを選択し、ターゲットデータベース内のテーブルを編集する場合(例:テーブル列の名前変更)、1 つのデータ同期タスクで最大 5,000 個のテーブルを同期できます。5,000 個を超えるテーブルを同期するタスクを実行すると、リクエストエラーが発生する可能性があります。この場合、同期するテーブルを分割して複数のタスクを設定するか、データベース全体を同期するタスクを設定することをお勧めします。

  • 1 つのデータ同期タスクで、最大 10 個のデータベースからデータを同期できます。10 個を超えるデータベースからデータを同期する場合は、同期するテーブルを分割して複数のタスクを設定することをお勧めします。そうでない場合、データ同期タスクのパフォーマンスと安定性が損なわれる可能性があります。

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

  • データログについては、以下の要件を満たす必要があります。

    • データロギング機能が有効になっている必要があります。バックアップモードは「完全」に設定し、完全物理バックアップを実行する必要があります。

    • 増分同期のみを実行する場合は、ソースデータベースのデータログを 24 時間以上保存する必要があります。完全同期と増分同期の両方を実行する場合は、ソースデータベースのデータログを 7 日以上保存する必要があります。完全同期が完了したら、保存期間を 24 時間以上に設定できます。そうでない場合、DTS はデータログの取得に失敗し、タスクが失敗する可能性があります。例外的な状況では、データの不整合または損失が発生する可能性があります。上記の要件に基づいてデータログの保存期間を設定してください。そうでない場合、DTS のサービスレベルアグリーメント (SLA) に記載されているサービスの信頼性またはパフォーマンスを保証できません。

  • ソースデータベースから同期するテーブルに対して CDC を有効にする必要がある場合は、テーブルが以下の要件を満たしていることを確認してください。そうでない場合、事前チェックは失敗します。

    • sys.sysservers ビューの srvname フィールドの値が、SERVERPROPERTY 関数の戻り値と同じであること。

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

    • ソースデータベースが Enterprise エディションの場合、SQL Server 2008 以降を使用する必要があります。

    • ソースデータベースが Standard エディションの場合、SQL Server 2016 SP1 以降を使用する必要があります。

    • ソースデータベースが SQL Server 2017 バージョン(Standard エディションと Enterprise エディションを含む)の場合、バージョンをアップグレードすることをお勧めします。

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

  • ソースデータベースが Azure SQL Database の場合、データ同期タスクは 1 つのデータベースからのみデータを同期できます。

  • ソースデータベースが RDS for SQL Server の場合、データ同期タスクの安定性を確保するために、透過的データ暗号化 (TDE) 機能を無効にしてください。詳細については、「TDE を無効にする」をご参照ください。

  • ハイブリッドログベース解析モードでは、ソースデータベースへの列の追加またはソースデータベースからの列の削除を 10 分以内に行う複数の操作を実行できません。たとえば、10 分以内に次の SQL 文を実行すると、タスクでエラーが報告されます。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
    /* 10分以内に複数の列追加・削除操作を実行しないでください。 */
    
  • スキーマ同期および完全同期中は、データベースまたはテーブルのスキーマを変更する DDL 文を実行しないでください。そうしないと、データ同期タスクが失敗します。

  • SQL Server 増分同期モード パラメータを ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定する必要があります。ソースデータベースが SQL Server Web エディションを実行している RDS SQL Server インスタンスの場合、タスクを構成する際に パラメータを に設定する必要があります。

  • 完全同期中は、ソースデータベースのトランザクション処理モードの READ_COMMITTED_SNAPSHOT パラメータを使用することをお勧めします。これにより、共有ロックがデータ書き込みに与える影響を防ぐことができます。このパラメータを設定しないと、データの不整合やインスタンスの実行失敗などの例外が発生します。このような状況で発生する問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

その他の制限

  • 同期対象オブジェクトの要件:

    • DTS は、スキーマ、テーブル、ビュー、関数、プロシージャといったオブジェクトの初期スキーマ同期をサポートしています。

      警告

      このシナリオでは異種データベース間のデータ同期を行うため、データ型を 1 対 1 でマッピングすることはできず、タスクの失敗やデータの損失につながる可能性があります。データ型マッピングの関係がビジネスに与える影響を慎重に評価してください。詳細については、「初期スキーマ同期のデータ型マッピング」をご参照ください。

    • DTS は、アセンブリ、サービスブローカー、フルテキストインデックス、フルテキストカタログ、分散スキーマ、分散関数、CLR ストアドプロシージャ、CLR スカラー関数、CLR テーブル値関数、内部テーブル、システム、集計関数のスキーマを同期しません。

    • DTS は、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY、GEOGRAPHY、および CREATE TYPE コマンドを実行して作成されたカスタムデータ型を同期しません。

    • DTS は、計算列を含むテーブルを同期しません。

  • ターゲットデータベースでカスタムプライマリキーを指定するか、プライマリキー列の追加データベーステーブル列の設定 で構成する必要があります。そうでない場合、データ同期が失敗する可能性があります。

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

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

    • DTS は CDC コンポーネントを使用して増分データを同期します。ソースデータベースの CDC ジョブが想定どおりに実行されていることを確認してください。そうでない場合、DTS タスクは失敗します。

    • CDC コンポーネントは、デフォルトで増分データを 3 日間保存できます。保存期間は、exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; /* 保存期間を調整するには、このコマンドを実行します。 */ コマンドを実行することで調整できます。

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

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

    • DTS の増分同期タスクのプレモジュールは、ソースデータベースでデータベースレベルおよびテーブルレベルの CDC を有効にします。このプロセスでは、SQL Server データベースの制限により、ソースデータベースで数秒間続くロックされたテーブルが発生します。

    • CDC が有効になっているテーブルが 1,000 個以下のデータ同期タスクを指定することをお勧めします。そうでない場合、タスクが遅延したり不安定になったりする可能性があります。

  • オブジェクト設定 パラメータを SQL Server 増分同期モード に、増分同期のための CDC インスタンスのポーリングとクエリ に設定した場合、以下の制限が適用されます。

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

      説明
      • Azure SQL Database コンソールで提供される最高特権アカウント(サーバー管理者)は、要件を満たしています。vCore モデルに基づいて購入したデータベースでは、すべての仕様で CDC の有効化がサポートされています。DTU モデルに基づいて購入したデータベースでは、CDC の有効化をサポートするには、仕様が S3 以上である必要があります。

      • Amazon RDS for SQL Server インスタンスの特権アカウントには、必要な権限があります。データベースレベルでストアドプロシージャに対して CDC を有効にすることができます。

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

      • DTS の増分同期タスクのプレモジュールは、ソースデータベースでデータベースレベルおよびテーブルレベルの CDC を有効にします。このプロセスでは、SQL Server データベースの制限により、ソースデータベースで数秒間続くロックされたテーブルが発生します。

    • DTS は、ソースデータベースの各テーブルの CDC インスタンスに対してラウンドロビンクエリを実行することで増分データを取得します。そのため、ソースデータベースから同期するテーブルの数は 1,000 を超えてはなりません。そうでない場合、タスクが遅延したり不安定になったりする可能性があります。

    • CDC コンポーネントは、デフォルトで増分データを 3 日間保存できます。保存期間は、exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; /* 保存期間を調整するには、このコマンドを実行します。 */ コマンドを実行することで調整できます。

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

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

    • 1 分以内に列を追加または削除する DDL 文を 2 回以上実行することはできません。そうしないと、データ同期タスクが失敗する可能性があります。

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

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

  • AnalyticDB for MySQL の使用制限により、AnalyticDB for MySQL クラスタ内のノードのディスク容量使用率が 80% を超えると、ターゲットデータベースへのデータ書き込みのパフォーマンスが低下し、DTS タスクの遅延が発生します。使用率が 90% を超えると、ターゲットデータベースにデータを書き込むことができなくなり、DTS タスクの例外が発生します。同期対象のオブジェクトに基づいて必要なディスク容量を見積もることをお勧めします。ターゲットクラスタに十分なストレージ容量があることを確認してください。

  • データを同期する前に、データ同期がソースデータベースとターゲットデータベースのパフォーマンスに与える影響を評価してください。オフピーク時にデータを同期することをお勧めします。初期完全同期中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。

  • 完全同期中、同時 INSERT 操作により、ターゲットデータベースのテーブルで断片化が発生します。完全同期が完了すると、ターゲットデータベースの表領域はソースデータベースの表領域よりも大きくなります。

  • データ同期中は、DTS のみを使用してターゲットデータベースにデータを書き込むことをお勧めします。これにより、ソースデータベースとターゲットデータベース間のデータの不整合を防ぎます。たとえば、データ管理 (DMS) を使用してオンライン DDL 文を実行している間に、他のソースからのデータがターゲットデータベースに書き込まれると、ターゲットデータベースでデータ損失が発生する可能性があります。

  • データ同期タスクに増分同期が含まれる場合、DTS ではインデックス再作成操作を実行できません。インデックス再作成操作を実行すると、データ同期タスクが失敗し、データ損失が発生する可能性があります。

    説明

    DTS は、CDC が有効になっているテーブルのプライマリキーに関連する DDL 操作を同期できません。

  • データ同期タスクで CDC が有効になっているテーブルの数が、DTS がサポートする CDC が有効になっているテーブルの最大数の制限 に設定されている数を超えると、事前チェックは失敗します。

  • CDC が有効になっているテーブルに書き込まれる単一フィールドのデータが 64 KB を超える場合は、exec sp_configure 'max text repl size', -1; /* CDCが有効になっているテーブルに書き込まれる単一フィールドのデータが64KBを超える場合は、このコマンドを使用してソースデータベースを構成する必要があります。 */ コマンドを使用してソースデータベースを構成する必要があります。

    説明

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

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

  • 同期対象のオブジェクトを変更する場合、データベースを削除することはできません。

  • DTS タスクの実行中にターゲット AnalyticDB for MySQL 3.0 クラスタがバックアップされている場合、タスクは失敗します。

  • ソース SQL Server データベースを共有する複数のデータ同期インスタンスの増分データ収集モジュールは、互いに独立しています。

  • DTS タスクの実行に失敗した場合、DTS テクニカルサポートは 8 時間以内にタスクの復元を試みます。復元中、タスクが再起動され、タスクのパラメータが変更される場合があります。

    説明

    タスクのパラメータのみが変更される可能性があります。データベースのパラメータは変更されません。 変更される可能性のあるパラメータには、「DTS インスタンスのパラメータの変更」トピックの「インスタンスパラメータの変更」セクションのパラメータが含まれますが、これらに限定されません。

特別なケース

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

課金

同期タイプタスク構成料金
スキーマ同期と完全同期無料。
増分同期有料。詳細については、「課金概要」をご参照ください。

サポートされている同期モード

  • 一方向 1 対 1 同期

  • 一方向 1 対多同期

  • 一方向カスケード同期

  • 一方向多対 1 同期

同期トポロジの詳細については、「同期トポロジ」をご参照ください。

同期可能な SQL 操作

操作タイプ

SQL 文

DML

INSERT、UPDATE、および DELETE

説明
  • UPDATE 操作でラージフィールドのみが更新される場合、システムはその操作を増分同期しません。

  • ターゲット AnalyticDB for MySQL V3.0 クラスタにデータが書き込まれると、UPDATE 文は自動的に REPLACE INTO 文に変換されます。UPDATE 文がプライマリキーで実行された場合、UPDATE 文は DELETE 文と INSERT 文に変換されます。

DDL

  • CREATE TABLE

    説明

    CREATE TABLE 文にパーティション句、サブパーティション句、または関数が含まれている場合、システムはその操作を同期しません。

  • ADD COLUMN および DROP COLUMN

  • DROP TABLE

  • CREATE INDEX および DROP INDEX

説明
  • システムは、ユーザー定義型を含む DDL 操作を同期しません。

  • システムは、トランザクション DDL 操作を同期しません。たとえば、システムは、複数の列を追加する DDL 操作を含む SQL 操作、または DDL 操作と DML 操作の両方を含む SQL 操作を同期しません。このような SQL 操作を同期した後にデータ損失が発生する可能性があります。

  • システムは、オンライン DDL 操作を同期しません。

  • システムは、名前に予約キーワードを含むオブジェクトに対して実行された DDL 操作を同期しません。

  • システムは、システムストアドプロシージャで実行された DDL 操作を同期しません。

  • ソースデータベースが複合ログベース解析モードを使用している場合、すべての一般的な DDL 操作を同期できます。

手順

  1. 以下のいずれかの方法で「データ同期」ページに移動し、データ同期インスタンスが存在するリージョンを選択します。

    DTS コンソール

    1. DTS コンソール にログインします。

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

    3. ページの左上隅で、データ同期インスタンスが存在するリージョンを選択します。

    DMS コンソール

    説明

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

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

    2. 上部のナビゲーションバーで、[データ + AI] にポインタを合わせ、[DTS (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。

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

  3. ソースデータベースとターゲットデータベースを構成します。次の表にパラメータを示します。

    警告

    ソースデータベースとターゲットデータベースを構成した後、ページに表示される [制限] を読んでおくことをお勧めします。そうしないと、タスクが失敗したり、データの不整合が発生したりする可能性があります。

    セクション

    パラメータ

    説明

    N/A

    タスク名

    DTS タスクの名前。DTS はタスク名を自動的に生成します。タスクを識別しやすい説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    ソースデータベース

    [既存の接続を選択]

    • DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。 DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。 詳細については、「データベース接続を管理する」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • インスタンスを DTS に登録できなかった場合、または DTS に登録されているインスタンスを使用する必要がない場合は、以下のデータベース情報を構成する必要があります。

    データベースタイプ

    データベースのデータベースエンジン。[SQL Server] を選択します。

    アクセス方法

    アクセス方法。[Alibaba Cloud インスタンス] を選択します。

    インスタンスリージョン

    RDS インスタンスが存在するリージョン。

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

    Alibaba Cloud アカウント間でデータを同期するかどうかを指定します。この例では、× が選択されています。

    RDS インスタンス ID

    RDS インスタンスの ID。

    データベースアカウント

    RDS インスタンスのデータベースアカウント。アカウントには、同期対象のオブジェクトに対する所有者権限が必要です。

    データベースパスワード

    データベースへのアクセスに使用するパスワード。

    暗号化

    ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて、非暗号化 または SSL 暗号化 を選択します。

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

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

    宛先データベース

    [既存の接続を選択]

    • DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。 DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。 詳細については、「データベース接続を管理する」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • インスタンスを DTS に登録できなかった場合、または DTS に登録されているインスタンスを使用する必要がない場合は、以下のデータベース情報を構成する必要があります。

    データベースタイプ

    ターゲットデータベースのタイプ。[AnalyticDB For MySQL 3.0] を選択します。

    アクセス方法

    アクセス方法。[Alibaba Cloud インスタンス] を選択します。

    インスタンスリージョン

    AnalyticDB for MySQL クラスタが存在するリージョン。

    [プライマリインスタンス ID]

    AnalyticDB for MySQL クラスタの ID。

    データベースアカウント

    AnalyticDB for MySQL クラスタのデータベースアカウント。アカウントには、読み取りと書き込みの権限が必要です。

    データベースパスワード

    データベースへのアクセスに使用するパスワード。

  4. ページの下部にある 接続をテストして続行 をクリックします。

    説明
    • DTS サーバーの CIDR ブロックをソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加して、DTS サーバーからのアクセスを許可できることを確認してください。詳細については、「DTS サーバーの CIDR ブロックの追加」をご参照ください。

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

  5. 同期するオブジェクトを構成します。

    1. オブジェクト設定 ステップで、同期するオブジェクトを構成します。

      パラメータ

      説明

      [同期タイプ]

      同期タイプ。デフォルトでは、[増分同期] が選択されています。[スキーマ同期][完全同期] も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの既存データをソースデータベースからターゲットクラスタに同期します。既存データは、後続の増分同期の基礎となります。

      説明

      [完全同期] が選択されている場合、CREATE TABLE 文を実行して作成されたテーブルのスキーマとデータをターゲットデータベースに同期できます。

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

      • エラーの事前チェックと報告:ターゲットデータベースにソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合、事前チェックは合格です。それ以外の場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

        説明

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

      • エラーを無視して続行:ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

        • ソースデータベースとターゲットデータベースのスキーマが同じで、ターゲットデータベースのデータレコードのプライマリキー値または一意キー値がソースデータベースのデータレコードと同じである場合:

          • 完全同期中、DTS はデータレコードをターゲットデータベースに同期しません。ターゲットデータベースの既存のデータレコードは保持されます。

          • 増分同期中、DTS はデータレコードをターゲットデータベースに同期します。ターゲットデータベースの既存のデータレコードは上書きされます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗する可能性があります。この場合、一部の列のみが同期されるか、データ同期タスクが失敗します。注意して進めてください。

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

      ビジネス要件に基づいてスキーママッピングモードを選択します。

      警告

      ソースデータベースのスキーマ名を使用しない場合、ソーステーブルは異なるスキーマ間で一意の名前を持つ必要があります。そうでない場合、データの不整合が発生したり、データ同期タスクが失敗したりする可能性があります。

      SQL Server 増分同期モード

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

        • メリット:

          • このモードは、ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、および計算列を含むテーブルをサポートします。

          • このモードは、より高い安定性とさまざまな完全な DDL 文を提供します。

        • デメリット:

          • DTS は、ソースデータベースにトリガー dts_cdc_sync_ddl、ハートビートテーブル dts_sync_progress、および DDL ストレージテーブル dts_cdc_ddl_history を作成し、ソースデータベースと特定のテーブルに対して変更データキャプチャ (CDC) を有効にします。

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

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

        • メリット:

          このモードは、ソースデータベースの設定を変更しません。

        • デメリット:

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

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

        • メリット:

          • ソースデータベースが Amazon RDS for SQL Server インスタンス、Microsoft Azure SQL Database のデータベース、Microsoft Azure SQL Managed Instance、Microsoft Azure SQL Server on Virtual Machine、または Google Cloud SQL for SQL Server インスタンスの場合、完全同期と増分同期がサポートされます。

          • SQL Server のネイティブ CDC コンポーネントを使用して増分データを取得できます。これにより、増分同期の安定性が向上し、帯域幅の使用量が削減されます。

        • デメリット:

          • DTS がソースデータベースにアクセスするために使用するアカウントには、CDC 機能を有効にする権限が必要です。増分同期には 10 秒のレイテンシがあります。

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

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

      データ同期インスタンスで CDC が有効になっているテーブルの最大数。デフォルト値:1,000。ビジネス要件に基づいてこのパラメータを構成します。

      説明

      [SQL Server 増分同期モード][ソースデータベースのログに基づく増分同期(ヒープテーブルはサポートされていません)] に設定した場合、このパラメータを設定する必要はありません。

      [同期する DDL 操作と DML 操作]

      インスタンスレベルで同期する SQL 操作。詳細については、「同期可能な SQL 操作」をご参照ください。

      説明

      特定のデータベースまたはテーブルで実行された SQL 操作を選択するには、次の手順を実行します。[選択したオブジェクト] セクションで、オブジェクトを右クリックします。表示されるダイアログボックスで、同期する SQL 操作を選択します。

      ソースオブジェクト

      ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択し、向右 アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。

      説明

      このシナリオでは、異種データベース間でデータ同期が実行されます。そのため、テーブルのみを同期できます。ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトは、ターゲットデータベースに同期されません。

      選択中のオブジェクト

      • ターゲットインスタンスに同期するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名のマッピング」トピックの「単一オブジェクトの名前のマッピング」セクションをご参照ください。

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

      説明
      • 特定のデータベースまたはテーブルで実行された SQL 操作を選択するには、選択中のオブジェクト セクションで、同期するオブジェクトを右クリックします。表示されるダイアログボックスで、同期する SQL 操作を選択します。

      • データをフィルタリングするための WHERE 条件を指定するには、選択中のオブジェクト セクションでテーブルを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、「フィルタ条件の指定」をご参照ください。

      • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが同期されない場合があります。

    2. 次へ:詳細設定 をクリックして、詳細設定を構成します。

      パラメータ

      説明

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

      デフォルトでは、専用クラスタを指定しない場合、DTS は共有クラスタにタスクをスケジュールします。データ同期タスクの安定性を向上させるには、専用クラスタを購入します。詳細については、「DTS 専用クラスタとは」をご参照ください。

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

      接続失敗時のリトライ時間の範囲。データ同期タスクの開始後にソースデータベースまたはターゲットデータベースに接続できない場合、DTS は指定された時間範囲内で直ちに接続を再試行します。有効値:10 ~ 1440。単位:分。デフォルト値:720。このパラメータは 30 より大きい値に設定することをお勧めします。DTS が指定された時間範囲内にソースデータベースとターゲットデータベースに再接続すると、DTS はデータ同期タスクを再開します。それ以外の場合、データ同期タスクは失敗します。

      説明
      • ソースデータベースまたはターゲットデータベースが同じ複数のデータ同期タスクに異なるリトライ時間の範囲を指定した場合、最短のリトライ時間の範囲が優先されます。

      • DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいてリトライ時間の範囲を指定することをお勧めします。また、ソースインスタンスとターゲットインスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。

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

      その他の問題のリトライ時間の範囲。たとえば、データ同期タスクの開始後に DDL 操作または DML 操作の実行に失敗した場合、DTS は指定された時間範囲内で直ちに操作を再試行します。有効値:1 ~ 1440。単位:分。デフォルト値:10。このパラメータは 10 より大きい値に設定することをお勧めします。指定された時間範囲内で失敗した操作が正常に実行されると、DTS はデータ同期タスクを再開します。それ以外の場合、データ同期タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメータの値は、失敗した接続の再試行時間 パラメータの値よりも小さくなければなりません。

      完全なデータ移行のためのスロットリングを有効化

      完全同期中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。完全同期タスクの 1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメータを構成して、ターゲットデータベースサーバーの負荷を軽減できます。

      説明

      完全データ同期同期タイプ パラメータに選択されている場合にのみ、このパラメータを構成できます。

      増分同期率を制限するかどうか

      増分同期の調整を有効にするかどうかを指定します。ビジネス要件に基づいて、増分同期の調整を有効にできます。調整を構成するには、1 秒あたりの増分同期の行数 RPS1 秒あたりの増分同期データ量 (MB) BPS パラメータを構成する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      環境タグ

      DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、このパラメータを構成する必要はありません。

      ETL の設定

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

      [監視とアラート]

      データ同期タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または同期レイテンシが指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。有効値:

      • [いいえ]:アラートを有効にしません。

      • [はい]:アラートを構成します。この場合、アラートしきい値と アラート通知設定 も構成する必要があります。詳細については、「監視とアラートの構成」トピックの「DTS タスクの作成時に監視とアラートを構成する」セクションをご参照ください。

    3. [次のステップ:データ検証] をクリックして、データ検証を構成します。

      データ検証機能の使用方法の詳細については、「データ検証タスクの構成」をご参照ください。

    4. オプション:ページの下部にある [次へ:データベースとテーブルフィールドの構成] をクリックします。表示されるページで、ターゲットデータベースで同期するテーブルの タイププライマリキー列の追加配布キー、および [パーティションキー][パーティションルール][パーティションライフサイクル] などのパーティションキー情報を構成します。

      説明
      • 同期タイプ[同期タイプ] パラメータで [スキーマ同期] を選択した場合にのみ、この手順を実行できます。パラメータを変更するには、[定義ステータス] パラメータを [すべて] に設定します。

      • [プライマリキー列] フィールドでは、複数の列を指定して複合プライマリキーを作成できます。この場合、1 つ以上の列を 配布キー および [パーティションキー] として指定する必要があります。詳細については、「CREATE TABLE」をご参照ください。

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

    • DTS タスクを設定するために関連 API 操作を呼び出すときに指定するパラメーターを表示するには、次:タスク設定の保存と事前チェック にポインターを移動し、OpenAPI パラメーターのプレビュー をクリックします。

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

    説明
    • データ同期タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ同期タスクを開始できます。

    • データ同期タスクが事前チェックに失敗した場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。次に、事前チェックを再実行します。

    • 事前チェック中に項目に対してアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして、問題をトラブルシューティングします。次に、事前チェックを再度実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。次に、[再チェック] をクリックして、事前チェックを再度実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

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

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

    2. [購入] ページで、データ同期インスタンスの課金方法とインスタンスクラスのパラメーターを設定します。次の表にパラメーターを示します。

      セクション

      パラメーター

      説明

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

      課金方法

      • サブスクリプション: データ同期インスタンスを作成するときにサブスクリプション料金を支払います。サブスクリプション課金方法は、長期使用の場合、従量課金方法よりも費用対効果が高くなります。

      • 従量課金: 従量課金インスタンスは1時間単位で課金されます。従量課金方法は、短期使用に適しています。従量課金データ同期インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。

      リソースグループ設定

      データ同期インスタンスが属するリソースグループ。デフォルト値: [デフォルトのリソースグループ]。詳細については、「リソース管理とは」をご参照ください。

      インスタンスクラス

      DTS は、同期速度が異なるインスタンスクラスを提供します。ビジネス要件に基づいてインスタンスクラスを選択できます。詳細については、「データ同期インスタンスのインスタンスクラス」をご参照ください。

      サブスクリプション期間

      サブスクリプション課金方法を選択した場合は、サブスクリプション期間と作成するデータ同期インスタンスの数を選択します。サブスクリプション期間は、1~9か月、1年、2年、3年、または5年です。

      説明

      このパラメーターは、サブスクリプション 課金方法を選択した場合にのみ使用できます。

    3. [Data Transmission Service (従量課金) サービス規約] を読んで選択します。

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

      タスクの進捗状況はタスクリストで確認できます。