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

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

最終更新日:Jun 26, 2025

このトピックでは、ApsaraDB RDS コンソールの一括クラウド移行機能または 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 が含まれます。

前提条件

説明

ソースデータベースが SQL Server Enterprise Edition を実行する Microsoft Azure VM の場合、バージョンは SQL Server 2008 以降である必要があります。ソースデータベースが SQL Server Standard Edition を実行する Microsoft Azure VM の場合、バージョンは SQL Server 2016 SP1 以降である必要があります。SQL Server 2017 はサポートされていません。

使用上の注意

移行前に、以下の重要な点に注意して、タスクの失敗やエラーを回避してください。

  • データベース数の制限: 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 を実行する 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 が有効になっているテーブルで単一フィールドのサイズが 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 アドレス に設定されている場合、インターネットトラフィックに対して課金されます。詳細については、「課金概要」をご参照ください。

増分データ移行

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

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

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

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

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

  • フルデータ移行: SELECT 権限。

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

説明

Azure SQL Database コンソールによって提供される最高権限アカウント(サーバー管理者)は、上記の権限要件を満たしています。

  • vCore モデルに基づいて購入したデータベースの場合、すべての仕様で CDC の有効化がサポートされています。DTU モデルに基づいて購入したデータベースの場合、S3 以上の仕様のインスタンスのみが CDC の有効化をサポートしています。

  • 詳細な操作または確認については、Azure プラットフォームのドキュメントを参照するか、テクニカルサポートにお問い合わせください。

ApsaraDB RDS for SQL Server インスタンス

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

説明

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

手順

ApsaraDB RDS コンソールの一括クラウド移行機能は、デフォルトでスキーマ、フルデータ、および増分データを移行し、操作が簡単で便利です。DTS コンソールの移行機能は、移行タイプのカスタマイズとより高度なパラメータ構成をサポートしていますが、より複雑な構成が必要です。

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

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

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

  3. [一括クラウド]をクリックし、ソースデータベースとターゲットデータベースの情報を構成します。

    カテゴリ

    パラメータ

    説明

    該当なし

    タスク名

    タスクを簡単に識別できるわかりやすい名前を指定します。一意のタスク名を指定する必要はありません。システムによって自動的に生成されたタスク名をそのまま使用することもできます。

    移行元データベース

    データベースタイプ

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

    [タイプ]

    [Azure] を選択します。

    アクセス方法

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

    重要

    パブリック IP アドレスソースデータベースが Azure SQL Managed Instance の場合は、パブリック 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 データベースのアカウントを入力し、アカウントに必要な権限があることを確認します。

    重要

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

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

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

    暗号化

    • ソースデータベースで 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 インスタンスのアカウントを入力し、アカウントに必要な権限があることを確認します。

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

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

    暗号化

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

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

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

    重要

    ダイアログボックスに表示されている DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加は、セキュリティリスクとなる可能性があります。適切なセキュリティ対策(パスワードのセキュリティ強化、ポートの制限など)を実施し、確認してください。

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

    • [フルと増分データ移行] プランを選択します。オブジェクト設定 をクリックし、次のステップに進みます。

    • 別のプランを選択した場合: 次のステップに進む必要はありません。

      説明

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

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

    パラメータ

    説明

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

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

    説明

    トリガーを移行したくない場合は、このパラメーターを設定する必要はありません(デフォルト設定のままにします)。

    ソースオブジェクト

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

    説明

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

    選択中のオブジェクト

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

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

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

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

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

  7. オプション: [詳細設定] を展開して、詳細パラメータを構成できます。

    パラメータ

    説明

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

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

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

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

    データ検証モード

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

    説明

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

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

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

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

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

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

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

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

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

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

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

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

      セクション

      パラメータ

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

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

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

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

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

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

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

  1. データ伝送サービスコンソールにアクセスします。

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

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

    カテゴリ

    パラメータ

    説明

    該当なし

    タスク名

    タスクを簡単に識別できるわかりやすい名前を指定します。一意のタスク名を指定する必要はありません。システムによって自動的に生成されたタスク名をそのまま使用することもできます。

    移行元データベース

    既存の接続情報の選択

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

    データベースタイプ

    SQL Server を選択します。

    アクセス方法

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

    重要

    パブリック IP アドレスソースデータベースが Azure SQL Managed Instance の場合は、パブリック 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 で、データベースがデプロイされているサーバーの名前が dtstestSELECT @@SERVERNAME AS ServerName コマンドを実行してサーバー名をクエリできます)の場合、データベースアカウントtestuser@dtstest と入力します。

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

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

    暗号化

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

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

    移行先データベース

    既存の接続情報の選択

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

    データベースタイプ

    SQL Server を選択します。

    アクセス方法

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

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

    ターゲット ApsaraDB RDS for SQL Server インスタンスが存在するリージョンを選択します。

    インスタンス ID

    ターゲット ApsaraDB RDS for SQL Server インスタンスの ID を選択します。

    データベースアカウント

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

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

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

    暗号化

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

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

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

    重要

    ダイアログボックスに表示されている DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加は、セキュリティリスクとなる可能性があります。適切なセキュリティ対策(パスワードのセキュリティ強化、ポートの制限など)を実施し、確認してください。

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

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

      パラメータ

      説明

      移行タイプ

      • 完全移行の場合: スキーマ移行完全データ移行 を選択することをお勧めします。

      • ゼロダウンタイム移行を実行する必要がある場合: スキーマ移行完全データ移行、および 増分データ移行 を選択することをお勧めします。

      説明
      • 詳細については、「付録 1: 増分データ移行中に同期できる SQL 操作」および「付録 2: スキーマ移行中に移行できるオブジェクト」をご参照ください。

      • スキーマ移行 を選択しない場合は、ターゲットデータベースにデータを受信できるデータベースとテーブルが含まれていることを確認し、実際のニーズに基づいて 選択中のオブジェクト セクションのオブジェクト名マッピング機能を使用してください。

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

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

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

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

      • トリガーを移行しない場合は、このパラメーターを構成する必要はありません(デフォルト設定のままにします)。

      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 パラメーターを設定して、スロットリングを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      説明

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

      環境タグ

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

      ETL の設定

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

      監視アラート

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

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

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

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

      データ検証機能を使用する場合は、構成手順について「データ検証を構成する」をご参照ください。

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

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

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

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

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

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

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

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

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

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

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

      セクション

      パラメータ

      説明

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

      [リソースグループ]

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

      インスタンスクラス

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

    3. チェックボックスを選択して、[データ伝送サービス(従量課金制)サービス規約]を読み、同意します。

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

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

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

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

付録 1: 増分データ移行中に同期できる 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

説明
  • 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 コンソールで構成されたデータ移行タスクのフルデータ検証のベンチマークは何ですか?

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