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

ApsaraDB RDS:Amazon RDS for SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスにデータを移行する

最終更新日:Jun 26, 2025

このトピックでは、ApsaraDB RDS コンソールのワンストップクラウド移行機能または DTS コンソールのデータ移行機能を使用して、Amazon RDS for SQL Server インスタンスから ApsaraDB RDS for SQL Server インスタンスにデータを移行する方法について説明します。

前提条件

  • 移行先の ApsaraDB RDS for SQL Server インスタンス が作成されている。このインスタンスの使用可能なストレージ容量は、ソースインスタンスのデータの合計サイズよりも大きい。

  • ソースの Amazon RDS for SQL Server インスタンスが Alibaba Cloud に接続されている、DTS からアクセスできる。

  • ソースデータベースのバージョンは、次の要件を満たしている必要があります。

    • Enterprise Edition:SQL Server 2008 以降。

    • Standard Edition:SQL Server 2016 SP1 以降。

    • SQL Server 2017(Standard Edition および Enterprise Edition を含む):最新バージョンにアップグレードすることをお勧めします。

使用上の注意

移行前に、以下の重要な点に注意してください。これらの点を無視すると、タスクの失敗やエラーが発生する可能性があります。

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

  • テーブル数の制限:増分移行の場合、ソースデータベースから同期されるテーブルの数は 1,000 を超えることはできません。それ以外の場合は、タスクが遅延したり、不安定になったりする可能性があります。

  • ソースデータベースの操作制限:スキーマ移行および完全移行中は、DDL 操作(データベースまたはテーブル構造の変更など)を実行しないでください。そうしないと、タスクが失敗します。

  • CDC 関連の制限:ソーステーブルで CDC が有効になっており、単一フィールドのデータが 64 KB を超える場合は、EXEC sp_configure 'max text repl size', -1; を実行して構成を調整する必要があります。そうしないと、タスクが失敗する可能性があります。

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

  • 外部キーとトリガー:移行タスクに増分データ移行が含まれる場合は、移行先データベースのトリガーと外部キーを無効にする必要があります。そうしないと、タスクが失敗したり、データが失われたりする可能性があります。

  • データベースの命名規則:移行するデータベースの名前が ApsaraDB RDS for SQL Server インスタンスの命名規則に準拠していない場合は、移行タスクを構成する前に、移行先インスタンスにデータベースを手動で作成する必要があります。そうしないと、タスクが正しく実行されない可能性があります。

  • データログの保持期間:増分移行タスクの場合、ソースデータベースのデータログは 24 時間以上保存する必要があります。完全移行および増分移行タスクの場合、データログは少なくとも 7 日間保存する必要があります。そうしないと、タスクが失敗したり、データの不整合が発生する可能性があります。

クリックしてすべての制限と注意事項を表示

説明

DTS は、ソースデータベースの外部キーを宛先データベースに移行しません。したがって、ソースデータベースのカスケード操作と削除操作は宛先データベースに移行されません。

カテゴリ

説明

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

  • ソースデータベースのバージョンは、次の要件を満たしている必要があります。

    • ソースデータベースが SQL Server Enterprise Edition を実行している場合、そのバージョンは SQL Server 2008 以降である必要があります。

    • ソースデータベースが SQL Server Standard Edition を実行している場合、そのバージョンは SQL Server 2016 SP1 以降である必要があります。

    • ソースデータベースが SQL Server Enterprise Edition または SQL Server Standard Edition を実行しており、そのバージョンが SQL Server 2017 の場合は、バージョンを更新することをお勧めします。

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

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

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

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

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

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

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

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

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

その他の制限

  • DTS は、TIMESTAMP、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 が有効になっているテーブルで単一フィールドのサイズが 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 テクニカルサポート担当者は 8 時間以内にインスタンスの復元を試みます。復元プロセス中に、インスタンスが再起動されたり、パラメーターが調整されたりする可能性があります。

    説明

    パラメーターが調整されると、DTS インスタンスのパラメーターのみが変更されます。データベースのパラメーターは変更されません。変更される可能性のあるパラメーターには、インスタンスパラメーターの変更 のパラメーターが含まれますが、これらに限定されません。

課金

移行タイプ

インスタンス構成料金

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

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

無料。

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

増分データ移行

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

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

データ移行タスクが正常に完了するように、ソースデータベースと宛先データベースのデータベースアカウントに次の権限があることを確認してください。

Amazon RDS for SQL Server

  • スキーマ移行:SELECT 権限。

  • 完全移行:SELECT 権限。

  • 増分移行:dbower 権限(CDC を有効にするため)。

説明

Amazon RDS for SQL Server インスタンスの特権アカウントは上記の要件を満たしています。詳細な操作または確認については、AWS プラットフォーム のドキュメントを参照するか、テクニカルサポートにお問い合わせください。

ApsaraDB RDS for SQL Server インスタンス

スキーマ移行、完全移行、および増分移行:読み取りと書き込みの権限。

説明

ApsaraDB RDS コンソールで 特権アカウントまたは標準アカウントを作成 し、必要に応じて アカウント権限を変更 できます。

手順

ApsaraDB RDS コンソールのワンストップクラウド移行機能は、デフォルトでデータベーススキーマ、完全データ、および増分データを移行し、操作が簡単で便利です。DTS コンソールの移行機能は、カスタマイズされた移行タイプとより高度なパラメーター構成をサポートしており、構成が比較的複雑です。

方法 1:ApsaraDB RDS コンソールを使用する

  1. ApsaraDB RDS インスタンス一覧 にアクセスし、上部でリージョンを選択し、ターゲット インスタンス ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[データ移行と同期] をクリックして、[データ移行] ページにアクセスします。

  3. [ワンストップクラウド] をクリックし、ソースデータベースとターゲットデータベースの情報を入力します。

    セクション

    パラメーター

    説明

    該当なし

    タスク名

    タスクを識別しやすい説明的な名前を設定します(一意である必要はありません)。システム生成のタスク名をそのまま使用することもできます。

    移行元データベース

    データベースタイプ

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

    種類

    [AWS] を選択します。

    アクセス方法

    Amazon RDS for SQL Server インスタンスが Alibaba Cloud に接続されている方法に基づいて、パブリック IP アドレス または Express Connect、VPN Gateway、または Smart Access Gateway を選択します。この例では、Express Connect、VPN Gateway、または Smart Access Gateway が選択されています。

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

    • アクセス方法 パラメーターを パブリック IP アドレス に設定した場合は、Amazon RDS for SQL Server インスタンスが存在するリージョンを選択します。

      説明

      Amazon RDS for SQL Server インスタンスのリージョンが使用できない場合は、インスタンスに地理的に最も近いリージョンを選択できます。

    • アクセス方法 パラメーターを Express Connect、VPN Gateway、または Smart Access Gateway に設定した場合は、Amazon RDS for SQL Server インスタンスが接続されている Alibaba Cloud VPC のリージョンを選択します。

    接続中の VPC

    Amazon RDS for SQL Server インスタンスが接続されている Alibaba Cloud VPC の ID を選択します。

    説明

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

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

    Amazon RDS for SQL Server インスタンスのドメイン名または IP アドレスを入力します。

    説明

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

    ポート番号

    Amazon RDS for SQL Server インスタンスのサービスポートを入力します。

    データベースアカウント

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

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

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

    暗号化

    • ソースデータベースで Secure Sockets Layer(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 暗号化 を選択します。DTS はデフォルトでサーバー証明書を信頼します。

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

    重要

    ポップアップウィンドウに表示される DTS サーバーの IP アドレスが、Amazon RDS for SQL Server インスタンスのホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加は、セキュリティリスクとなる可能性があります。適切な保護対策 (パスワードセキュリティの強化、ポートの制限など) を確認して実施してください。

  5. システムはソースデータベースの種類を評価し、次の 2 つのクラウド移行計画を生成して選択できるようにします。

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

    • [フルバックアップと増分バックアップを使用したデータ移行] 計画を選択した場合: 次のステップに進む必要はありません。

      説明

      ページ下部の [移行ドキュメントの表示] をクリックすると、対応するクラウド移行操作を表示できます。

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

    パラメーター

    説明

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

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

    説明

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

    ソースオブジェクト

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

    説明

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

    選択中のオブジェクト

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

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

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

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

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

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

    詳細設定を展開して、詳細パラメーターを設定できます。

    パラメーター

    説明

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

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

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

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

    データ検証モード

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

    説明

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

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

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

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

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

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

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

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

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

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

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

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

      セクション

      パラメーター

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

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

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

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

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

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

方法 2: DTS コンソールを使用する

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

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

  3. タスクの作成 をクリックし、ソースデータベースとターゲットデータベースの情報を構成します。

    カテゴリ

    構成

    説明

    該当なし

    タスク名

    タスクを識別しやすい説明的な名前を指定します。システムによって自動的に生成されたタスク名を使用することもできます。

    移行元データベース

    既存の接続情報の選択

    DTS データベース接続管理 ページにソースデータベース情報を登録済みの場合は、ここで登録済みデータベースを直接選択できます。これにより、後でソースデータベース情報を手動で入力する手間が省けます。

    データベースタイプ

    SQL Server を選択します。

    アクセス方法

    Amazon RDS for SQL Server を Alibaba Cloud に接続するために使用される方法に基づいて、パブリック IP アドレス または Express Connect、VPN Gateway、または Smart Access Gateway を選択します。この例では、Express Connect、VPN Gateway、または Smart Access Gateway が選択されています。

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

    • アクセス方法パブリック IP アドレス に設定されている場合は、Amazon RDS for SQL Server が配置されているリージョンを選択します。

      説明

      Amazon RDS for SQL Server インスタンスのリージョンが使用できない場合は、インスタンスに地理的に最も近いリージョンを選択できます。

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

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

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

    説明

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

    接続中の VPC

    Amazon RDS for SQL Server インスタンスが接続されている Alibaba Cloud VPC の ID を選択します。

    説明

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

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

    Amazon RDS for SQL Server インスタンスのドメイン名または IP アドレスを入力します。

    説明

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

    ポート番号

    Amazon RDS for SQL Server インスタンスのサービスポートを入力します。

    データベースアカウント

    Amazon RDS for SQL Server インスタンスのデータベースアカウントを入力し、アカウントに必要な権限があることを確認します

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

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

    暗号化

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

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

    移行先データベース

    既存の接続情報の選択

    DTS データベース接続管理 ページに宛先データベース情報を登録済みの場合は、ここで登録済みデータベースを直接選択できます。これにより、後で宛先データベース情報を手動で入力する必要がなくなります。

    データベースタイプ

    SQL Server を選択します。

    アクセス方法

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

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

    宛先 RDS SQL Server インスタンスが属するリージョンを選択します。

    インスタンス ID

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

    データベースアカウント

    宛先 ApsaraDB RDS for SQL Server インスタンスのデータベースアカウントを入力し、アカウントに必要な権限があることを確認します

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

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

    暗号化

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

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

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

    重要

    ポップアップボックスに表示される DTS サーバー IP アドレスが Amazon RDS for SQL Server のホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加 はセキュリティリスクとなる可能性があります。関連する保護対策 (パスワード強度の強化、ポートの制限など) を確認して実装してください。

  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 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

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

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

      増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを構成するには、1 秒あたりの増分移行の行数 RPS1 秒あたりの増分移行データ量 (MB) BPS パラメーターを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

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

      環境タグ

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

      ETL の設定

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

      監視アラート

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

      • [いいえ]: アラートを構成しません。

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

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

      データ検証機能を使用する必要がある場合は、構成方法について「データ検証タスクを構成する」をご参照ください。

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

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

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

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

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

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

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

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

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

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

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

      セクション

      パラメーター

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

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

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

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

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

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

付録 1:増分移行をサポートする SQL 操作

DML 操作

INSERT、UPDATE、DELETE

説明

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

DDL 操作

  • CREATE TABLE

    説明

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

  • ALTER TABLE

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

  • DROP TABLE

  • CREATE INDEX および DROP INDEX

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

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

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

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

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

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

付録 2:スキーマ移行中に移行できるオブジェクト

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

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

よくある質問

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

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

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

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

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

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