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

Data Transmission Service:Microsoft Azure 上の SQL Server データベースから ApsaraDB RDS for SQL Server にデータを移行する

最終更新日:Jun 11, 2025

このトピックでは、Data Transmission Service (DTS) を使用して、Microsoft Azure 上の SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスにデータを移行する方法について説明します。 Microsoft Azure 上の SQL Server データベースは、Azure SQL Database、Azure SQL Managed Instance、Azure Virtual Machines 上の SQL Server のいずれかのサービスによって提供されます。

背景

Microsoft Azure 上の SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスにデータを移行するには、次のいずれかの方法を使用できます。

  • ApsaraDB RDS コンソールを使用する

    ApsaraDB RDS コンソールを使用すると、Microsoft Azure 上の SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスに、便利かつ効率的にデータを移行できます。

    説明

    デフォルトでは、スキーマ移行、フルデータ移行、増分データ移行が実行されます。

  • DTS コンソールを使用する

    DTS コンソールを使用して、データ移行タスクを設定できます。 この場合、スキーマ移行、フルデータ移行、増分データ移行などの移行タイプを選択し、ビジネス要件に基づいて詳細設定を行うことができます。

前提条件

  • 移行元の Microsoft Azure 上の SQL Server データベースが Alibaba Cloud に接続されており、DTS からアクセスできること。 詳細については、「Microsoft Azure データベースを Alibaba Cloud に接続する」をご参照ください。

  • 移行先の ApsaraDB RDS for SQL Server インスタンスが作成されていること。 このインスタンスの使用可能なストレージ容量が、移行元データベースのデータの合計サイズよりも大きいこと。 詳細については、「ApsaraDB RDS for SQL Server インスタンスを作成する」をご参照ください。

使用上の注意

説明

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 はサポートされていません。

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

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

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

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

  • 移行元データベースで実行される操作の制限:

    • スキーマ移行とフルデータ移行中は、DDL 文を実行してデータベースまたはテーブルのスキーマを変更しないでください。 そうしないと、データ移行タスクは失敗します。

    • フルデータ移行のみを実行する場合は、データ移行中に移行元データベースにデータを書き込まないでください。 そうしないと、移行元データベースと移行先データベース間でデータの不整合が発生します。 データの整合性を確保するために、移行タイプとしてスキーマ移行、フルデータ移行、増分データ移行を選択することをお勧めします。

  • 読み取り専用インスタンスを移行元データベースとして使用することはできません。

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

  • フルデータ移行中は、移行元データベースの READ_COMMITTED_SNAPSHOT のトランザクション処理モードパラメータを有効にすることをお勧めします。 そうしないと、共有ロックが原因でデータ書き込みに影響が出たり、データの不整合が発生したり、インスタンスが実行に失敗したりする可能性があります。 このような状況で発生する問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

その他の制限

  • DTS は、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY、GEOGRAPHY などのタイプのデータは移行しません。

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

  • DTS は、CDC インスタンスをクエリすることによって増分データを移行します。 増分データ移行を実行する場合は、次の制限事項に注意してください。

    • DTS は、移行元データベースの各テーブルの CDC インスタンスをクエリすることによって増分データを取得します。 したがって、移行元データベースから移行されるテーブルの数は 1,000 を超えることはできません。 そうしないと、データ移行タスクが遅延したり、不安定になったりする可能性があります。

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

      説明
      • <time> は保存時間を示します。 単位: 分。

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

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

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

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

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

  • 異なるバージョンのデータベース間でデータを移行する場合は、データベースのバージョンに互換性があることを確認してください。

  • データ移行タスクに増分データ移行が含まれている場合、インデックス再作成操作を実行することはできず、移行先データベースのトリガーと外部キーを無効にする必要があります。 そうしないと、データ移行タスクが失敗したり、データが失われたりする可能性があります。

    説明

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

  • 1 つの移行タスクで移行する CDC が有効なテーブルの数が 1,000 を超える場合、または DTS がサポートする [CDC が有効になっているテーブルの最大数] を超える場合、事前チェックは失敗します。

  • タスクに増分データ移行が含まれており、CDC が有効になっているテーブルで 1 つのフィールドに 64 KB を超えるサイズのデータが必要な場合は、事前に exec sp_configure 'max text repl size', -1; コマンドを実行して移行元データベースを設定します。

    説明

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

  • DTS は、ApsaraDB RDS for SQL Server インスタンスに移行先データベースを自動的に作成します。 ただし、移行するデータベースの名前が ApsaraDB RDS for SQL Server インスタンスの命名規則に準拠していない場合は、データ移行タスクを設定する前に、移行先 ApsaraDB RDS for SQL Server インスタンスにデータベースを手動で作成する必要があります。 詳細については、「データベースを作成する」をご参照ください。

  • 移行元データベースのログに基づく増分同期モードでは、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 が有効になっているテーブルの 1 秒あたりの最大レコード数を 1,000 に設定することをお勧めします。

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

  • フルデータ移行中、同時 INSERT 操作によって移行先データベースのテーブルに断片化が発生します。 フルデータ移行が完了すると、移行先データベースの表領域は移行元データベースの表領域よりも大きくなります。

  • FLOAT または DOUBLE データ型の列の精度設定がビジネス要件を満たしていることを確認する必要があります。 DTS は、ROUND(COLUMN,PRECISION) 関数を使用して、FLOAT または DOUBLE データ型の列から値を取得します。 精度を指定しない場合、DTS は FLOAT データ型の精度を 38 桁、DOUBLE データ型の精度を 308 桁に設定します。

  • DTS は、過去 7 日以内に失敗したデータ移行タスクの再開を試みます。 ワークロードを移行先クラスタに切り替える前に、失敗したタスクを停止または解放する必要があります。 また、REVOKE 文を実行して、DTS が移行先データベースにアクセスするために使用するアカウントから書き込み権限を取り消すこともできます。 そうしないと、データ移行タスクが再開された後、移行元データベースのデータによって移行先データベースのデータが上書きされます。

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

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

    説明

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

課金

移行タイプ

インスタンス構成料金

インターネットトラフィック料金

スキーマ移行とフルデータ移行

無料。

ターゲットデータベースの アクセス方法 パラメーターが パブリック IP アドレス に設定されている場合、インターネットトラフィックに対して課金されます。詳細については、「請求の概要」をご参照ください。

増分データ移行

課金されます。詳細については、「請求の概要」をご参照ください。

移行タイプ

  • スキーマ移行

    DTS は、選択したオブジェクトのスキーマを移行元データベースから移行先データベースに移行します。

    • DTS は、テーブル、ビュー、トリガー、シノニム、SQL ストアドプロシージャ、SQL 関数、プランガイド、ユーザー定義型、ルール、デフォルト、シーケンスなどのオブジェクトタイプのスキーマ移行をサポートしています。

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

  • フルデータ移行

    DTS は、必要なオブジェクトの既存データを移行元データベースから移行先データベースに移行します。

  • 増分データ移行

    フルデータ移行が完了すると、DTS は移行元データベースから移行先データベースに増分データを移行します。 増分データ移行により、データ移行中にセルフマネージドアプリケーションのサービスを中断することなく、データをスムーズに移行できます。

増分データ移行をサポートする SQL 操作

操作タイプ

SQL 文

DML

INSERT、UPDATE、DELETE

説明

UPDATE 操作でラージフィールドのみが更新される場合、DTS はその操作を移行しません。

DDL

  • CREATE TABLE

    説明

    CREATE TABLE 操作でパーティションテーブルまたは関数を含むテーブルが作成される場合、DTS はその操作を移行しません。

  • ALTER TABLE

    ALTER TABLE 操作には、ADD COLUMN と DROP COLUMN のみ含まれます。

  • DROP TABLE

  • CREATE INDEX と DROP INDEX

説明
  • トランザクション DDL 文は移行できません。 たとえば、DTS は、複数の列に対する DDL 操作を含む SQL 操作、または DDL 操作と DML 操作の両方を含む SQL 操作を移行しません。 このような SQL 操作を移行した後に、データが失われる可能性があります。

  • DTS は、ユーザー定義型を含む DDL 操作を移行しません。

  • DTS は、オンライン DDL 操作を移行しません。

  • DTS は、名前に予約キーワードを含むオブジェクトに対して実行される DDL 操作を移行しません。

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

  • DTS は、TRUNCATE TABLE 操作を移行しません。

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

データベースタイプ

スキーマ移行

フルデータ移行

増分データ移行

参考資料

Microsoft Azure 上の SQL Server データベース

SELECT 権限

SELECT 権限

sysadmin ロールの権限

説明

Azure SQL Database のサーバー管理者アカウントには、必要な権限があります。 CDC は、vCore モデルに基づいて Azure SQL Database で購入されたすべてのデータベースに対して有効にすることができます。 データベーストランザクションユニット (DTU) モデルに基づいて Azure SQL Database で購入されたデータベースに対して CDC を有効にすることができるのは、データベースのサービス目標が S3 以上の場合のみです。

詳細については、「Microsoft Azure」をご参照ください。

ApsaraDB RDS for SQL Server インスタンス

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

特権アカウントまたは標準アカウントを作成するアカウントの権限を変更する

手順

ApsaraDB RDS コンソールの使用

  1. 移行先の ApsaraDB RDS for SQL Server インスタンスの [データ移行] タブに移動します。

    1. ApsaraDB RDS コンソールの [インスタンス] ページに移動します。

    2. ページの上部で、移行先の ApsaraDB RDS for SQL Server インスタンスが存在するリージョンを選択します。

    3. 移行先の ApsaraDB RDS for SQL Server インスタンスの ID をクリックします。

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

    5. [データ移行] タブをクリックします。

  2. [ワンストップクラウド] をクリックします。

  3. 移行元データベースと移行先データベースを設定します。 次の表にパラメータを示します。

    セクション

    パラメータ

    説明

    該当なし

    タスク名

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

    移行元データベース

    データベースタイプ

    ソースデータベースのタイプ。デフォルト値: SQL Server。このパラメーターを設定する必要はありません。

    [タイプ]

    移行元 SQL Server データベースのタイプ。 [Azure] を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。ソースの Microsoft Azure 上の SQL Server データベース が Alibaba Cloud に接続されている方法に基づいて、パブリック IP アドレス または Express Connect、VPN Gateway、または Smart Access Gateway を選択します。

    重要

    この例では、パブリック IP アドレス が選択されています。

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

    • アクセス方法パブリック IP アドレス に設定する場合は、Microsoft Azure 上の SQL Server データベース が存在するリージョンを選択してください。

      説明

      Microsoft Azure 上の SQL Server データベースのリージョンが利用できない場合は、データベースに地理的に最も近いリージョンを選択できます。

    • アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway に設定する場合、Microsoft Azure 上の SQL Server データベースが接続されている Alibaba Cloud VPC(仮想プライベートクラウド)のリージョンを選択します。

    接続中の VPC

    Microsoft Azure 上の SQL Server データベース が接続されている Alibaba Cloud VPC の ID です。

    説明

    このパラメーターは、アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway に設定した場合にのみ使用できます。

    ドメイン名または IP アドレス

    Microsoft Azure 上の SQL Server データベースのドメイン名または IP です。

    説明

    ドメイン名を指定することをお勧めします。

    ポート番号

    Microsoft Azure 上の SQL Server データベースのサービスポート。

    データベースアカウント

    Microsoft Azure 上の SQL Server データベースのアカウント。 アカウントに必要な権限の詳細については、このトピックのデータベースアカウントに必要な権限セクションを参照してください。

    重要

    Azure SQL Database 内のデータベースのアカウントは、<Administrator username>@<Server name> 形式です。たとえば、Azure SQL Database 内のデータベースの管理者アカウントが testuser で、データベースがデプロイされているサーバーの名前が dtstest の場合、データベースアカウントtestuser@dtstest と入力します。SELECT @@SERVERNAME AS ServerName コマンドを実行して、サーバー名をクエリできます。

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

    データベースインスタンスへのアクセスに使用されるパスワード。

    暗号化

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

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

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

    移行先データベース

    データベースタイプ

    ターゲットデータベースのタイプ。デフォルト値: SQL Server。このパラメーターを設定する必要はありません。

    アクセス方法

    ターゲットデータベースのアクセス方法。デフォルト値: Alibaba Cloud インスタンス。このパラメーターを設定する必要はありません。

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

    このパラメータは、現在の ApsaraDB RDS for SQL Server インスタンスが存在するリージョンに設定されます。 このパラメータの値は変更できません。

    インスタンス ID

    このパラメータは、現在の ApsaraDB RDS for SQL Server インスタンスの ID に設定されます。 このパラメータの値は変更できません。

    データベースアカウント

    現在の ApsaraDB RDS for SQL Server インスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、このトピックのデータベースアカウントに必要な権限セクションを参照してください。

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

    データベースインスタンスへのアクセスに使用されるパスワード。

    暗号化

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

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

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

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

    DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認します。次に、接続テスト をクリックします。

    重要

    DTS サーバーのパブリック CIDR ブロックがデータベースのホワイトリストに追加されている場合、セキュリティリスクが発生する可能性があります。DTS を使用してデータを移行する前に、潜在的なリスクを理解し、認識した上で、ユーザー名とパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストの定期的な確認と不正な CIDR ブロックの禁止など、予防措置を講じる必要があります。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

  5. データ移行プランを選択します。

    選択した移行元データベースのタイプに基づいて、システムは次のデータ移行プランを提供します。

    • フルデータ移行と増分データ移行: このプランを選択する場合は、ページの下部にある オブジェクト設定 をクリックして、次のステップに進みます。

    • 別のプランを選択した場合は、次の手順をスキップできます。

      説明

      ページの下部にある [移行ドキュメントを表示] をクリックして、他のデータ移行プランの詳細を表示できます。

  6. オブジェクト設定 ページで、移行するオブジェクトを設定します。次の表にパラメーターを示します。

    パラメータ

    説明

    移行元データベースのトリガーを移行する方法

    トリガーは、増分データ移行が完了する前にターゲットデータベースに移行される場合があります。この場合、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。ビジネス要件に基づいて、トリガーの移行に使用するメソッドを選択できます。手動移行 を選択することをお勧めします。詳細については、「ソースデータベースからトリガーを同期または移行する」をご参照ください。

    説明

    トリガーを移行しない場合は、このパラメータを設定する必要はありません。

    ソースオブジェクト

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

    説明

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

    選択中のオブジェクト

    • 宛先インスタンスで移行するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマップする」をご参照ください。

    • 移行対象として選択されている 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、image アイコンをクリックしてオブジェクトを ソースオブジェクト セクションに移動します。

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

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

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

  7. オプション。 詳細設定を行います。

    [詳細設定] をクリックして、詳細設定を表示および設定できます。

    パラメータ

    説明

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

    完全なデータ移行の速度制限を有効にするかどうかを指定します。完全なデータ移行中、DTS はソースデータベースとターゲットデータベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、完全なデータ移行の速度制限を有効にすることができます。速度制限を設定するには、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

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

    増分データ移行の速度制限を有効にするかどうかを指定します。1 秒あたりの増分移行の行数 RPS1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定して、速度制限を設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

    データ検証モード

    完全データ検証中、DTS はソースデータベースとターゲットデータベースの読み取りリソースを使用します。全データ検証 を選択した場合、完全検証による1秒あたりのデータ読み取りの最大行数フル検証Byte/sで1秒あたりに読み取られる最大バイト数。 も指定して、完全データ検証の速度制限を有効にする必要があります。これにより、データベースサーバーの負荷が軽減されます。

    説明

    値 0 は、完全データ検証速度が制限されないことを示します。完全検証による1秒あたりのデータ読み取りの最大行数フル検証Byte/sで1秒あたりに読み取られる最大バイト数。 の両方を 0 に設定すると、完全データ検証の速度制限は無効になります。

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

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

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

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

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

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

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

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

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

  10. データ移行インスタンスを購入します。

    1. [インスタンスの購入] ページで、データ移行インスタンスの [インスタンスクラス] パラメータを設定します。 次の表にパラメータを示します。

      セクション

      パラメータ

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

    2. チェックボックスをオンにして、[データ伝送サービス (従量課金制) サービス規約] を読んで同意します。

    3. [購入して開始] をクリックします。 表示されるメッセージで、[OK] をクリックします。

      [データ移行] ページでタスクの進捗状況を確認できます。

      説明
      • データ移行タスクを増分データの移行に使用できない場合、タスクは自動的に停止します。 [ステータス] セクションに [完了] と表示されます。

      • データ移行タスクを増分データの移行に使用できる場合、タスクは自動的に停止しません。 増分データ移行タスクは停止または完了しません。 [ステータス] セクションに [実行中] と表示されます。

DTS コンソールの使用

  1. データ移行ページに移動し、移行先データベースが存在するリージョンを選択します。

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

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

    3. 上部のナビゲーションバーで、データ移行インスタンスが存在するリージョンを選択します。

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

  3. 移行元データベースと移行先データベースを設定します。 次の表にパラメータを示します。

    セクション

    パラメータ

    説明

    該当なし

    タスク名

    DTS タスクの名前。 DTS はタスク名を自動的に生成します。 タスクを簡単に識別できる有益な名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。

    移行元データベース

    [既存の接続を選択]

    使用するインスタンス。 ビジネス要件に基づいて、既存のインスタンスを使用するかどうかを選択できます。

    • 既存のインスタンスを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のインスタンスを選択しない場合は、移行先データベースのパラメータを設定する必要があります。

    説明

    データベース接続 ページまたは新しい設定ページで、データベースを DTS に登録できます。 詳細については、「データベース接続を管理する」をご参照ください。

    データベースタイプ

    ソースデータベースのタイプ。 SQL Server を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。ソースの Microsoft Azure 上の SQL Server データベース が Alibaba Cloud に接続されている方法に基づいて、パブリック IP アドレス または Express Connect、VPN Gateway、または Smart Access Gateway を選択します。

    重要

    この例では、パブリック IP アドレス が選択されています。

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

    • アクセス方法パブリック IP アドレス に設定する場合は、Microsoft Azure 上の SQL Server データベース が存在するリージョンを選択してください。

      説明

      Microsoft Azure 上の SQL Server データベースのリージョンが利用できない場合は、データベースに地理的に最も近いリージョンを選択できます。

    • アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway に設定する場合、Microsoft Azure 上の SQL Server データベースが接続されている Alibaba Cloud VPC(仮想プライベートクラウド)のリージョンを選択します。

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

    ×この例では、現在の Alibaba Cloud アカウントのデータベースインスタンスが使用されます。 を選択します。

    説明

    このパラメーターは、アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway に設定した場合にのみ使用できます。

    接続中の VPC

    Microsoft Azure 上の SQL Server データベース が接続されている Alibaba Cloud VPC の ID です。

    説明

    このパラメーターは、アクセス方法Express Connect、VPN Gateway、または Smart Access Gateway に設定した場合にのみ使用できます。

    ドメイン名または IP アドレス

    Microsoft Azure 上の SQL Server データベースのドメイン名または IP です。

    説明

    ドメイン名を指定することをお勧めします。

    ポート番号

    Microsoft Azure 上の SQL Server データベースのサービスポート。

    データベースアカウント

    Microsoft Azure 上の SQL Server データベースのアカウント。 アカウントに必要な権限の詳細については、このトピックのデータベースアカウントに必要な権限セクションを参照してください。

    重要

    Azure SQL Database のデータベースアカウントは、<Administrator username>@<Server name> 形式です。たとえば、Azure SQL Database のデータベースの管理者アカウントが testuser で、データベースがデプロイされているサーバーの名前が dtstest の場合、データベースアカウントtestuser@dtstest と入力します。SELECT @@SERVERNAME AS ServerName コマンドを実行して、サーバー名をクエリできます。

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

    データベースインスタンスへのアクセスに使用されるパスワード。

    暗号化

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

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

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

    移行先データベース

    [既存の接続を選択]

    使用するインスタンス。 ビジネス要件に基づいて、既存のインスタンスを使用するかどうかを選択できます。

    • 既存のインスタンスを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のインスタンスを選択しない場合は、移行先データベースのパラメータを設定する必要があります。

    説明

    データベース接続 ページまたは新しい構成ページで、DTS にデータベースを登録できます。詳細については、「データベース接続を管理する」をご参照ください。

    データベースタイプ

    ターゲットデータベースの活字。 SQL Server を選択します。

    アクセス方法

    ターゲットデータベースのアクセス方法。 Alibaba Cloud インスタンス を選択します。

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

    移行先の ApsaraDB RDS for SQL Server インスタンスが存在するリージョン。

    インスタンス ID

    移行先の ApsaraDB RDS for SQL Server インスタンスのインスタンス ID。

    データベースアカウント

    移行先の ApsaraDB RDS for SQL Server インスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、このトピックのデータベースアカウントに必要な権限セクションを参照してください。

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

    データベースインスタンスへのアクセスに使用されるパスワード。

    暗号化

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

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

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

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

    DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認します。次に、接続テスト をクリックします。

    重要

    DTS サーバーのパブリック CIDR ブロックがデータベースのホワイトリストに追加されている場合、セキュリティリスクが発生する可能性があります。DTS を使用してデータを移行する前に、潜在的なリスクを理解し、認識した上で、ユーザー名とパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストの定期的な確認と不正な CIDR ブロックの禁止など、予防措置を講じる必要があります。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

  5. 移行するオブジェクトを設定します。

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

      パラメータ

      説明

      移行タイプ

      • フルデータ移行のみを実行するには、[スキーマ移行][フルデータ移行] を選択します。

      • データ移行中のサービス継続性を確保するには、[スキーマ移行][フルデータ移行][増分データ移行] を選択します。

      説明
      • [スキーマ移行] を選択しない場合は、移行先データベースにデータを受信するためのデータベースとテーブルが作成され、[選択済みオブジェクト] でオブジェクト名マッピング機能が有効になっていることを確認してください。

      • [増分データ移行] を選択しない場合は、データ移行中に移行元データベースにデータを書き込まないことをお勧めします。 これにより、移行元データベースと移行先データベース間でデータの整合性が確保されます。

      移行元データベースのトリガーを移行する方法

      トリガーは、増分データ移行が完了する前にターゲットデータベースに移行される場合があります。この場合、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。ビジネス要件に基づいて、トリガーの移行に使用するメソッドを選択できます。手動移行 を選択することをお勧めします。詳細については、「ソースデータベースからトリガーを同期または移行する」をご参照ください。

      説明
      • スキーマ移行増分データ移行移行タイプ と の両方 を選択した場合にのみ、このパラメータを設定できます。

      • トリガーを移行しない場合は、このパラメータを設定する必要はありません。

      SQL Server 増分同期モード

      増分同期のための CDC インスタンスのポーリングとクエリ を選択します。

      説明

      [移行タイプ] パラメータで [増分データ移行] を選択した場合にのみ、このパラメータを設定できます。

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

      この例では、デフォルト値を保持します。

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

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

        説明

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

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

        警告

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

        • 移行元データベースと移行先データベースのスキーマが同じで、データレコードのプライマリキーが移行先データベースの既存のデータレコードと同じである場合、次のシナリオが発生する可能性があります。

          • フルデータ移行中、DTS はデータレコードを移行先データベースに移行しません。 移行先データベースの既存のデータレコードは保持されます。

          • 増分データ移行中、DTS はデータレコードを移行先データベースに移行します。 移行先データベースの既存のデータレコードは上書きされます。

        • 移行元データベースと移行先データベースのスキーマが異なる場合、特定の列のみが移行されるか、データ移行タスクが失敗します。 注意して進めてください。

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

      移行先インスタンスのデータベース名、テーブル名、列名の大文字と小文字の区別。 デフォルトでは、[DTS デフォルトポリシー] が選択されています。 他のオプションを選択して、オブジェクト名の大文字と小文字の区別が移行元データベースまたは移行先データベースと一致するようにすることができます。 詳細については、「移行先インスタンスのオブジェクト名の大文字と小文字の区別を指定する」をご参照ください。

      ソースオブジェクト

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

      説明

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

      選択中のオブジェクト

      • 宛先インスタンスで移行するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマップする」をご参照ください。

      • 移行対象として選択されている 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、image アイコンをクリックしてオブジェクトを ソースオブジェクト セクションに移動します。

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

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

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

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

      パラメーター

      説明

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

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

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

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

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

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

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

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

      重要

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

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

      完全データ移行の速度制限を有効にするかどうかを指定します。 完全データ移行中、DTS はソースデータベースとターゲットデータベースの読み取りリソースと書き込みリソースを使用します。 これにより、データベースサーバーの負荷が増加する可能性があります。 ビジネス要件に基づいて、完全データ移行の速度制限を有効にすることができます。 速度制限を設定するには、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定する必要があります。 これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      説明

      完全データ移行移行タイプ パラメーターに選択した場合にのみ、このパラメーターを設定できます。

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

      増分データ移行の速度制限を有効にするかどうかを指定します。 速度制限を設定するには、1 秒あたりの増分移行の行数 RPS パラメーターと 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定する必要があります。 これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      説明

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

      環境タグ

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

      ETL の設定

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

      監視アラート

      データ移行タスクのアラートを設定するかどうかを指定します。 タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。 有効値:

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

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

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

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

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

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

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

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

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

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

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

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

  7. データ移行インスタンスを購入します。

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

    2. [インスタンスの購入] ページで、データ移行インスタンスのインスタンスクラスパラメーターを設定します。次の表にパラメーターを示します。

      セクション

      パラメーター

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

    3. チェックボックスをオンにして、[Data Transmission Service (従量課金制) サービス規約] を読んで同意します。

    4. [購入して開始] をクリックします。表示されるメッセージで、[OK] をクリックします。

      [データ移行] ページでタスクの進捗状況を確認できます。

      説明
      • データ移行タスクを使用して増分データを移行できない場合、タスクは自動的に停止します。[完了][ステータス] セクションに表示されます。

      • データ移行タスクを使用して増分データを移行できる場合、タスクは自動的に停止しません。増分データ移行タスクは停止または完了しません。[実行中][ステータス] セクションに表示されます。

よくある質問

  • ApsaraDB RDS コンソールでデータ移行タスクを設定する際に、検証するオブジェクトを選択できますか。

    いいえ。デフォルトでは、検証対象のオブジェクトは、移行対象のオブジェクトと同じです。

  • ApsaraDB RDS コンソールで設定されたデータ移行タスクの完全データ検証モードとは何ですか。

    移行されたデータのハッシュ値は、100% のサンプリング比率に基づいてチェックされます。

  • ApsaraDB RDS コンソールで設定されたデータ移行タスクの完全データ検証のベンチマークは何ですか。

    ソースデータベースとターゲットデータベースのデータ整合性は、ソースデータベースとターゲットデータベースのすべてのデータを比較することでチェックされます。

\