データ同期または移行タスクオブジェクトを構成する場合、DTS は、名前マッピング機能を使用して、宛先データベースインスタンス内のタスクオブジェクト(データベース、テーブル、列)の名前を設定することをサポートしています。 この機能を使用すると、宛先データベースインスタンス内の指定されたオブジェクトにデータを同期または移行したり、タスクオブジェクトと同じ構造で異なる名前のオブジェクトを宛先データベースインスタンスに作成したりできます。
シナリオ
シナリオ | 説明 |
宛先データベースにデータを受信するオブジェクトを作成します。 |
|
宛先データベースでデータを受信するオブジェクトを指定します。 たとえば、複数のデータベースまたはテーブルのデータを 1 つの大きなデータベースまたはテーブルに同期または移行する場合などです。 | 事前に宛先データベースにデータを受信するオブジェクトを作成し、データの互換性を確保する必要があります。
|
宛先データベースにオブジェクトを作成します。 | このシナリオは、データ移行タスクでのみサポートされています。 移行タイプ パラメーターで スキーマ移行 のみを選択する必要があります。 |
前提条件
タスクは オブジェクト設定 ステージにあり、データベース、テーブル、および列のマッピング操作を実行する必要があります。 オブジェクト設定 ステージに入る方法については、「同期ソリューションの概要」および「移行ソリューションの概要」の関連する構成ドキュメントを参照してください。
移行タイプ または 同期タイプ のすべてのオプションを選択することをお勧めします。 そうしないと、同期または移行の結果が期待どおりにならない場合があります。
古いバージョンの構成ページは、オブジェクトの設定と詳細設定 ステージにある必要があります。
考慮事項
タスクが開始されたら、データベース、テーブル、または列のマッピング操作を再度実行しないでください。データの損失またはタスクの失敗につながる可能性があります。
Tair インスタンスまたは Redis インスタンスは、データベース名マッピング(データを受信するデータベース(DB 0~DB 255)の指定)のみをサポートしています。
宛先データベースタイプが DataHub の場合、データベース名マッピングはサポートされていません。
宛先データベースタイプが Kafka の場合、マッピング機能を使用して テーブル名 を変更すると、データは指定した Topic に書き込まれます。 テーブル名 フィールドに入力した Topic 名が、宛先 Kafka インスタンスに実際に存在することを確認する必要があります。 そうしないと、タスクは失敗します。
タスクオブジェクト選択の粒度がデータベース全体の場合、データベース名マッピングのみがサポートされます。
テーブル名または列名マッピングを使用する必要がある場合: ソースデータベースタイプが MongoDB の場合、タスクオブジェクト選択の粒度はコレクションである必要があります。 ソースデータベースタイプが Tair/Redis の場合、タスクオブジェクト選択の粒度は Redis DB である必要があります。 その他のタイプのソースデータベースの場合、タスクオブジェクト選択の粒度はテーブルである必要があります。
データベース、テーブル、および列名マッピング機能を使用すると、このオブジェクトに依存する他のオブジェクトの同期または移行が失敗する可能性があります。
個々のデータベース、テーブル、および列名マッピング
ソースオブジェクト から 選択中のオブジェクト エリアにタスクオブジェクトを移動します。
データベースまたはテーブルマッピングインターフェイスを開きます。
選択中のオブジェクト エリアでターゲットオブジェクトを右クリックします。
ターゲットオブジェクトにマウスポインターを置き、ターゲットオブジェクトの後に表示される 編集 ボタンをクリックします。
表示されたダイアログボックスで、宛先データベースインスタンス内のオブジェクトの名前を変更します。
説明データベース名またはテーブル名マッピングを実行する場合、一部のインスタンス(実際のコンソールインターフェイスを参照)では、増分タスク用に追加の列を追加したり、SQL 文(DML および DDL)をフィルタリングしたりすることもサポートされています。
データベース名マッピングとテーブル名マッピングで異なる文が選択されている場合、テーブル名マッピング中に選択された文が優先されます。
テーブルの編集 ダイアログボックスで、タスクデータの条件フィルタリングを構成することもできます。 詳細については、「フィルター条件の設定」をご参照ください。
データベース名マッピング
表示される スキーマの編集 ダイアログボックスで、宛先データベースインスタンス内のデータベースの名前を設定します。
説明ソースデータベースタイプと宛先データベースタイプの両方が SQL Server の場合、データベース名の編集 ダイアログボックスが表示されます。
テーブル名マッピング
表示される テーブルの編集 ダイアログボックスで、宛先データベースインスタンス内のデータテーブルの名前を設定します。
列名マッピング
表示される テーブルの編集 ダイアログボックスの [列] セクションで、宛先インスタンスの対応する列の名前(ターゲット列名)を設定します。
[OK] をクリックします。
DTS タスクに必要なその他のパラメーターを構成します。
バッチデータベース、テーブル、および列名マッピング
ソースオブジェクト から 選択中のオブジェクト エリアにタスクオブジェクトを移動します。
選択中のオブジェクト エリアの右上隅にある 一括編集 をクリックします。
一括編集 ダイアログボックスで、要件に従ってデータベース名またはテーブル名をバッチマッピングします。
ソースデータベースタイプが Tair/Redis
オブジェクトを選択 ボックスで、編集するオブジェクトを選択します。
説明バッチ編集タイプは、デフォルトで 選択したデータベースのみを含める に設定されています。
オプション: 編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
要件に従って有効な範囲を選択します。
名前が変更されたオブジェクト名に基づいて変更する: バッチ変更されたデータベース名が、以前に名前変更された名前に基づいて変更されることを示します。
元のオブジェクト名に基づいて変更する: バッチ変更されたデータベース名が、元の名前に基づいて変更されることを示します。
データベース名とテーブル名を変更するためのルールを選択し、変更後のデータベース名またはテーブル名を設定します。
名前にプレフィックスまたはサフィックスを追加する: ルールを選択 で プレフィックスとサフィックスの追加 を選択し、プレフィックスとサフィックスを入力します。
名前を一様に更新する: ルールを選択 で すべての名前の変更 を選択し、変更後の名前を入力します。
名前の一部を一様に削減する: ルールを選択 で すべての名前を短縮 を選択し、削減するキーワードを入力します。
構成済みのバッチマッピングルールを追加するには、アプリケーション をクリックします。
[OK] をクリックします。
ソースデータベースタイプが SQL Server
要件に従ってバッチ編集タイプを選択します。
この例では、選択したすべてのデータベースとテーブル が選択されています。
オブジェクトを選択 ボックスで、編集するオブジェクトを選択します。
オプション: 編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
オプション: オブジェクト名タイプを選択します。
説明オブジェクト名タイプを選択する は、オブジェクト設定 ページの 移行元データベースと移行先データベースのスキーママッピングモード が 移行先テーブル名として、<移行元スキーマ名>.<移行元テーブル名> を使用 に設定されている場合、または オブジェクト設定 ページに 移行元データベースと移行先データベースのスキーママッピングモード 設定項目がない場合にのみ構成できます。
データベース / テーブル名: 選択したオブジェクト内のデータベースとテーブルの名前のみをマップします。
スキーマ名: 選択したオブジェクト内のスキーマ名のみをマップします。
要件に応じて有効範囲を選択します。
名前が変更されたオブジェクト名に基づいて変更する: バッチ変更されたデータベース名が、以前に変更された名前に基づいて変更されることを示します。
元のオブジェクト名に基づいて変更する: バッチ変更されたデータベース名が、元の名前に基づいて変更されることを示します。
データベース名とテーブル名を変更するためのルールを選択し、変更後のデータベース名またはテーブル名を設定します。
名前へのプレフィックスまたはサフィックスの追加: プレフィックスとサフィックスの追加 を ルールを選択 で選択し、プレフィックスとサフィックスを入力します。
名前の一括更新: すべての名前の変更 を ルールを選択 で選択し、変更後の名前を入力します。
名前の一部の一括削除: すべての名前を短縮 を ルールを選択 で選択し、削除するキーワードを入力します。
アプリケーション をクリックして、構成済みのバッチマッピングルールを追加します。
[OK] をクリックします。
手順
要件に応じてバッチ編集タイプを選択します。
この例では、選択したすべてのデータベースとテーブル が選択されています。
オブジェクトを選択 ボックスで、編集するオブジェクトを選択します。
オプション: 編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
説明バッチマッピングを実行する場合、一部のインスタンス(実際のコンソールインターフェイスをご参照ください)では、増分タスク用に追加の列を追加したり、SQL 文(DML および DDL)をフィルタリングしたりすることもできます。
要件に応じて有効範囲を選択します。
名前が変更されたオブジェクト名に基づいて変更する: バッチ変更されたデータベース、テーブル、および列の名前が、以前に名前変更された名前に基づいて変更されることを示します。
元のオブジェクト名に基づいて変更する: バッチ変更されたデータベース、テーブル、および列の名前が、元の名前に基づいて変更されることを示します。
データベース名とテーブル名を変更するためのルールを選択し、変更後のデータベース名またはテーブル名を設定します。
名前にプレフィックスまたはサフィックスを追加する: ルールを選択 で プレフィックスとサフィックスの追加 を選択し、プレフィックスとサフィックスを入力します。
名前を一括更新する: ルールを選択 で すべての名前の変更 を選択し、変更後の名前を入力します。
名前の一部を一括削除する: ルールを選択 で すべての名前を短縮 を選択し、削除するキーワードを入力します。
アプリケーション をクリックして、構成済みのバッチマッピングルールを追加します。
[OK] をクリックします。
DTS タスクに必要なその他のパラメーターを構成します。
一部の列を同期または移行する
ソースオブジェクト から 選択中のオブジェクト エリアに、同期または移行するテーブルを移動します。
選択中のオブジェクト エリアで対象オブジェクトを右クリックし、テーブルマッピングインターフェイスを開きます。
表示される テーブルの編集 ダイアログボックスの [列] セクションで、すべてのテーブルを同期 チェックボックスをオフにします。
同期または移行する必要のない列のチェックボックスをオフにします。
[OK] をクリックします。
DTS タスクに必要なその他のパラメーターを構成します。
よくある質問
同期または移行する必要のない列をフィルタリングするにはどうすればよいですか。
列名マッピングを使用し、すべてのテーブルを同期 チェックボックスをオフにして、対応する列のチェックボックスをオフにします。
列名マッピングは列タイプの変更をサポートしていますか。
いいえ、サポートしていません。
一括編集ルールは変更できますか。
いいえ、できません。ターゲットルールの後にある
をクリックしてマッピングルールを削除し、新しいルールを追加できます。
一括編集ルールが消えたのはなぜですか。
バッチマッピングルールを設定した後に アプリケーション をクリックし忘れたか、誤ってルールを削除した可能性があります。