このトピックでは、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 が含まれます。
前提条件
移行先のApsaraDB RDS for SQL Server インスタンスを作成済みであること。このインスタンスの使用可能なストレージ容量は、ソースデータベースのデータの合計サイズよりも大きいこと。
ソースの Microsoft Azure 上のSQL Server データベースが Alibaba Cloud に接続されており、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 はサポートされていません。
使用上の注意
移行前に、以下の重要な点に注意して、タスクの失敗やエラーを回避してください。
データベース数の制限: 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 日間保存する必要があります。そうしないと、タスクが失敗したり、データの不整合が発生したりする可能性があります。
課金
移行タイプ | インスタンス構成料金 | インターネットトラフィック料金 |
スキーマ移行とフルデータ移行 | 無料。 | ターゲットデータベースの アクセス方法 パラメーターが パブリック 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 コンソールを使用する
ApsaraDB RDS インスタンスリストにアクセスし、上部でリージョンを選択して、ターゲットインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[データの移行と同期]をクリックして、[データ移行]ページに移動します。
[一括クラウド]をクリックし、ソースデータベースとターゲットデータベースの情報を構成します。
カテゴリ
パラメータ
説明
該当なし
タスク名
タスクを簡単に識別できるわかりやすい名前を指定します。一意のタスク名を指定する必要はありません。システムによって自動的に生成されたタスク名をそのまま使用することもできます。
移行元データベース
データベースタイプ
デフォルト値: 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で、データベースがデプロイされているサーバーの名前がdtstest(SELECT @@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 はデフォルトでサーバー証明書を信頼します。
構成が完了したら、ページ下部にある [接続テストと続行] をクリックします。
重要ダイアログボックスに表示されている DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加は、セキュリティリスクとなる可能性があります。適切なセキュリティ対策(パスワードのセキュリティ強化、ポートの制限など)を実施し、確認してください。
システムはソースデータベースタイプを評価し、次の 2 つのクラウド移行プランを生成して選択できるようにします。
[フルと増分データ移行] プランを選択します。オブジェクト設定 をクリックし、次のステップに進みます。
別のプランを選択した場合: 次のステップに進む必要はありません。
説明ページ下部の [移行ドキュメントの表示] をクリックすると、対応するクラウド移行操作を表示できます。
オブジェクト設定 ページで、移行するオブジェクトを設定します。次の表にパラメーターを示します。
パラメータ
説明
移行元データベースのトリガーを移行する方法
トリガーは、増分データ移行が完了する前にターゲットデータベースに移行される場合があります。この場合、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。ビジネス要件に基づいて、トリガーの移行に使用するメソッドを選択できます。手動移行 を選択することをお勧めします。詳細については、「ソースデータベースからトリガーを同期または移行する」をご参照ください。
説明トリガーを移行したくない場合は、このパラメーターを設定する必要はありません(デフォルト設定のままにします)。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。
アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。説明移行対象のオブジェクトとして、列、テーブル、またはデータベースを選択します。テーブルまたは列を移行対象のオブジェクトとして選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトをターゲットデータベースに移行しません。
選択中のオブジェクト
宛先インスタンスで移行するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマップする」をご参照ください。
移行対象として選択されている 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、
アイコンをクリックしてオブジェクトを ソースオブジェクト セクションに移動します。
説明オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが移行に失敗する可能性があります。
データをフィルタリングするための WHERE 条件を指定するには、選択中のオブジェクト セクションのテーブルを右クリックします。表示されるダイアログボックスで、フィルター条件を指定します。
特定のデータベースまたはテーブルで実行される SQL 操作を選択するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、移行する SQL 操作を選択します。
オプション: [詳細設定] を展開して、詳細パラメータを構成できます。
パラメータ
説明
完全移行率を制限するかどうか
完全なデータ移行のスロットリングを有効にするかどうかを指定します。完全なデータ移行中、DTS はソースデータベースとターゲットデータベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、完全なデータ移行のスロットリングを有効にすることができます。スロットリングを設定するには、1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
増分移行率を制限するかどうか
増分データ移行の調整を有効にするかどうかを指定します。1 秒あたりの増分移行の行数 RPS と 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定して、調整を設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
データ検証モード
完全データ検証は、データベースの読み取りリソースを使用します。全データ検証 を選択した場合、完全検証による1秒あたりのデータ読み取りの最大行数 と フル検証Byte/sで1秒あたりに読み取られる最大バイト数。 を設定して、完全データ検証のスロットリング (1秒あたりに読み取るデータ行数とデータ量) を有効にし、データベースへの負荷を軽減する必要もあります。
説明値 0 は制限がないことを示します。完全検証による1秒あたりのデータ読み取りの最大行数 と フル検証Byte/sで1秒あたりに読み取られる最大バイト数。 の両方が 0 に設定されている場合、フルデータ検証のスロットリングは無効になります。
タスク設定を保存し、事前チェックを実行します。
関連 API 操作を呼び出して DTS タスクを設定する際に指定するパラメーターを表示するには、 次:タスク設定の保存と事前チェック にポインターを移動し、OpenAPI パラメーターのプレビュー をクリックします。
パラメータを表示する必要がない場合、またはすでに表示した場合は、ページ下部にある 次:タスク設定の保存と事前チェック をクリックします。
説明データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後でのみ、データ移行タスクを開始できます。
タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある[詳細の表示]をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。次に、事前チェックを再度実行します。
事前チェック中に項目のアラートがトリガーされた場合:
アラート項目を無視できない場合は、失敗した項目の横にある[詳細の表示]をクリックして、問題をトラブルシューティングします。次に、事前チェックを再度実行します。
アラート項目を無視できる場合は、[アラート詳細の確認]をクリックします。[詳細の表示] ダイアログボックスで、[無視]をクリックします。表示されるメッセージで、[OK]をクリックします。次に、[再チェック]をクリックして、事前チェックを再度実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
[成功率]が[100%]になるまで待ちます。次に、[次へ: インスタンスの購入]をクリックします。
インスタンスを購入します。
[インスタンスの購入]ページで、データ移行インスタンスの [インスタンスクラス] パラメータを構成します。次の表にパラメータを示します。
セクション
パラメータ
説明
新しいインスタンスクラス
[リソースグループ]
データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。
インスタンスクラス
DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
チェックボックスを選択して、[データ伝送サービス(従量課金制)サービス規約]を読み、同意します。
[購入して開始]をクリックします。表示されるメッセージで、[OK]をクリックします。
タスクの進捗状況は、[データ移行] ページで確認できます。
説明データ移行タスクを使用して増分データを移行できない場合、タスクは自動的に停止します。[完了] が [ステータス] セクションに表示されます。
データ移行タスクを使用して増分データを移行できる場合、タスクは自動的に停止しません。増分データ移行タスクは停止も完了もしません。[実行中] が [ステータス] セクションに表示されます。
方法 2: DTS コンソールを使用する
データ伝送サービスコンソールにアクセスします。
左側のナビゲーションウィンドウで、データの移行 をクリックし、ページ上部でリージョンを選択します。
タスクの作成 をクリックして、ソースデータベースとターゲットデータベースの情報の設定を行います。
カテゴリ
パラメータ
説明
該当なし
タスク名
タスクを簡単に識別できるわかりやすい名前を指定します。一意のタスク名を指定する必要はありません。システムによって自動的に生成されたタスク名をそのまま使用することもできます。
移行元データベース
既存の接続情報の選択
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で、データベースがデプロイされているサーバーの名前がdtstest(SELECT @@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 はデフォルトでサーバー証明書を信頼します。
構成が完了したら、ページの下部にある [接続テストと続行] をクリックします。
重要ダイアログボックスに表示されている DTS サーバーの CIDR ブロックが、Microsoft Azure 上の SQL Server データベースのホワイトリストに追加されていることを確認してください。DTS IP アドレスの追加は、セキュリティリスクとなる可能性があります。適切なセキュリティ対策(パスワードのセキュリティ強化、ポートの制限など)を実施し、確認してください。
移行するオブジェクトを構成します。
オブジェクト設定 ページで、移行するオブジェクトを設定します。
パラメータ
説明
移行タイプ
完全移行の場合: スキーマ移行 と 完全データ移行 を選択することをお勧めします。
ゼロダウンタイム移行を実行する必要がある場合: スキーマ移行、完全データ移行、および 増分データ移行 を選択することをお勧めします。
説明詳細については、「付録 1: 増分データ移行中に同期できる SQL 操作」および「付録 2: スキーマ移行中に移行できるオブジェクト」をご参照ください。
スキーマ移行 を選択しない場合は、ターゲットデータベースにデータを受信できるデータベースとテーブルが含まれていることを確認し、実際のニーズに基づいて 選択中のオブジェクト セクションのオブジェクト名マッピング機能を使用してください。
増分データ移行を選択しない場合は、データの整合性を確保するために、データ移行中にソースインスタンスに新しいデータを書き込まないでください。
移行元データベースのトリガーを移行する方法
増分データ移行が完了する前に、トリガーがターゲットデータベースに移行される場合があります。 この場合、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。 ビジネス要件に基づいて、トリガーの移行に使用するメソッドを選択できます。 手動移行 を選択することをお勧めします。 詳細については、「ソースデータベースからトリガーを同期または移行する」をご参照ください。
説明このパラメーターは、スキーマ移行 と 増分データ移行 の両方を 移行タイプ に選択した場合にのみ構成できます。
トリガーを移行しない場合は、このパラメーターを構成する必要はありません(デフォルト設定のままにします)。
SQL Server 増分同期モード
増分同期のための CDC インスタンスのポーリングとクエリ を選択します。
説明このパラメーターは、増分データ移行 を 移行タイプ パラメーターに選択した場合にのみ構成できます。
DTS がサポートする CDC が有効になっているテーブルの最大数の制限
この例では、デフォルト値を保持します。
競合するテーブルの処理モード
エラーの事前チェックと報告: ターゲットデータベースにソースデータベースのテーブルと同じ名前を使用するテーブルが含まれているかどうかを確認します。 ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合、事前チェックは合格です。 それ以外の場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。
説明ソースデータベースとターゲットデータベースに同じ名前のテーブルが含まれており、ターゲットデータベース内のテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、ターゲットデータベースに移行されるテーブルの名前を変更できます。詳細については、「オブジェクト名をマップする」をご参照ください。
エラーを無視して続行: ソースデータベースとターゲットデータベースで同一のテーブル名に対する事前チェックをスキップします。
警告エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスが以下の潜在的なリスクにさらされる可能性があります。
ソースデータベースとターゲットデータベースのスキーマが同じで、データレコードのプライマリキーがターゲットデータベースの既存のデータレコードと同じである場合、以下のシナリオが発生する可能性があります。
フルデータ移行中は、DTS はデータレコードをターゲットデータベースに移行しません。ターゲットデータベースの既存のデータレコードは保持されます。
増分データ移行中は、DTS はデータレコードをターゲットデータベースに移行します。ターゲットデータベースの既存のデータレコードは上書きされます。
ソースデータベースとターゲットデータベースのスキーマが異なる場合、特定の列のみが移行されるか、データ移行タスクが失敗します。注意して進めてください。
移行先インスタンスでのオブジェクト名の大文字化
ターゲットインスタンスのデータベース名、テーブル名、および列名の大文字と小文字の区別。デフォルトでは、[DTS デフォルトポリシー]が選択されています。他のオプションを選択して、オブジェクト名の大文字と小文字の区別がソースデータベースまたはターゲットデータベースと一致するようにすることができます。詳細については、「ターゲットインスタンスのオブジェクト名の大文字と小文字の区別を指定する」をご参照ください。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。
アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。説明移行対象として、列、テーブル、またはデータベースを選択します。テーブルまたは列を移行対象として選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトをターゲットデータベースに移行しません。
選択中のオブジェクト
宛先インスタンスで移行するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマップする」をご参照ください。
移行対象として選択されている 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、
アイコンをクリックしてオブジェクトを ソースオブジェクト セクションに移動します。
説明オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが移行に失敗する可能性があります。
データをフィルタリングするための WHERE 条件を指定するには、選択中のオブジェクト セクションのテーブルを右クリックします。表示されるダイアログボックスで、フィルター条件を指定します。
特定のデータベースまたはテーブルで実行される SQL 操作を選択するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、移行する SQL 操作を選択します。
次へ:詳細設定 をクリックして詳細設定を行います。
パラメータ
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、専用クラスタを指定しない場合、DTS はデータ移行タスクを共有クラスタにスケジュールします。データ移行タスクの安定性を向上させるには、専用クラスタを購入します。詳細については、「DTS 専用クラスタとは」をご参照ください。
失敗した接続の再試行時間
接続に失敗した場合のリトライ時間範囲。データ移行タスクの開始後にソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTS はリトライ時間範囲内で直ちに接続を再試行します。有効値: 10 ~ 1,440。単位: 分。デフォルト値: 720。このパラメーターには 30 より大きい値を設定することをお勧めします。指定されたリトライ時間範囲内で DTS がソースデータベースとターゲットデータベースに再接続された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
説明同じソースデータベースまたはターゲットデータベースを共有する複数のデータ移行タスクに異なるリトライ時間範囲を指定した場合、後で指定した値が優先されます。
DTS が接続をリトライすると、DTS インスタンスに対して課金されます。ビジネス要件に基づいてリトライ時間範囲を指定することをお勧めします。 また、ソースデータベースと宛先インスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。
移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。
その他の問題のリトライ時間範囲。たとえば、データ移行タスクの開始後に DDL または DML 操作が失敗した場合、DTS はリトライ時間範囲内で操作をすぐにリトライします。有効値: 1 ~ 1440。単位: 分。デフォルト値: 10。パラメーターを 10 より大きい値に設定することをお勧めします。指定されたリトライ時間範囲内で失敗した操作が正常に実行された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
重要移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメーターの値は、失敗した接続の再試行時間 パラメーターの値よりも小さくする必要があります。
完全移行率を制限するかどうか
完全なデータ移行のスロットリングを有効にするかどうかを指定します。完全なデータ移行中、DTS はソースデータベースとターゲットデータベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、完全なデータ移行のスロットリングを有効にすることができます。スロットリングを設定するには、1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、完全データ移行 を 移行タイプ パラメーターに選択した場合にのみ構成できます。
増分移行率を制限するかどうか
増分データ移行のスロットリングを有効にするかどうかを指定します。1 秒あたりの増分移行の行数 RPS と 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定して、スロットリングを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、増分データ移行 を 移行タイプ パラメーターに選択した場合にのみ構成できます。
環境タグ
DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、このパラメータを構成する必要はありません。
ETL の設定
抽出、変換、ロード(ETL)機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:
[はい]: ETL 機能を構成します。コードエディタにデータ処理ステートメントを入力できます。詳細については、「データ移行またはデータ同期タスクで ETL を構成する」をご参照ください。
[いいえ]: ETL 機能を構成しません。
監視アラート
データ移行タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または移行レイテンシが指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。有効な値:
[いいえ]: アラートを構成しません。
[はい]: アラートを構成します。この場合、アラートしきい値とアラート通知設定も構成する必要があります。詳細については、「監視とアラートの構成」トピックのDTS タスクを作成するときに監視とアラートを構成するセクションをご参照ください。
[次へ: データ検証]をクリックして、データ検証タスクを構成します。
データ検証機能を使用する場合は、構成手順について「データ検証を構成する」をご参照ください。
タスク設定を保存し、事前チェックを実行します。
関連 API 操作を呼び出して DTS タスクを設定する際に指定するパラメーターを表示するには、 次:タスク設定の保存と事前チェック にポインターを移動し、OpenAPI パラメーターのプレビュー をクリックします。
パラメータを表示する必要がない場合、またはすでに表示した場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。
説明データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後でのみ、データ移行タスクを開始できます。
タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある[詳細の表示]をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。次に、事前チェックを再度実行します。
事前チェック中に項目のアラートがトリガーされた場合:
アラート項目を無視できない場合は、失敗した項目の横にある[詳細の表示]をクリックして、問題をトラブルシューティングします。次に、事前チェックを再度実行します。
アラート項目を無視できる場合は、[アラート詳細の確認]をクリックします。[詳細の表示] ダイアログボックスで、[無視]をクリックします。表示されるメッセージで、[OK]をクリックします。次に、[再チェック]をクリックして、事前チェックを再度実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
インスタンスを購入します。
[成功率]が[100%]になるまで待ちます。次に、[次へ: インスタンスの購入]をクリックします。
[インスタンスの購入]ページで、データ移行インスタンスの [インスタンスクラス] パラメータを構成します。次の表にパラメータを示します。
セクション
パラメータ
説明
新しいインスタンスクラス
[リソースグループ]
データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。
インスタンスクラス
DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
チェックボックスを選択して、[データ伝送サービス(従量課金制)サービス規約]を読み、同意します。
[購入して開始]をクリックします。表示されるメッセージで、[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 コンソールで構成されたデータ移行タスクのフルデータ検証のベンチマークは何ですか?
ソースデータベースとターゲットデータベースのすべてのデータを比較することにより、データの整合性がチェックされます。