名前マッピング機能を使用すると、同期または移行タスク実行時に DTS がターゲットデータベース内のオブジェクトに付与する名前を制御できます。この機能は、既に存在するが異なる名前を持つオブジェクトへデータを書き込む場合、またはソースと異なる名前でターゲットオブジェクトを作成させる場合に利用します。
適用範囲/利用シーン
これらの利用シーンは、ソースとターゲットが同一のデータベースインスタンスであり、データの隔離を目的として異なるデータベース名またはテーブル名を用いる場合にも該当します。
| 利用シーン | 設定内容 |
|---|---|
| DTS がターゲットオブジェクトを作成し、そこにデータを書き込む | 移行タスク: スキーマ移行 を選択し、フルデータ移行 または 増分データ移行 のいずれか 1 つ以上も選択します。同期タスク: 増分データ同期 がデフォルトで選択されています。加えて、スキーマ同期 を選択し、任意で フルデータ同期 も選択します。 |
| 既存のターゲットオブジェクト(例:複数のデータベースまたはテーブルを 1 つに統合)にデータを書き込む | 事前にターゲットオブジェクトを作成し、データの互換性を確認してください。移行タスク: スキーマ移行 を選択しないでください。同期タスク: スキーマ同期 を選択しないでください。 |
| DTS がデータを書き込まずにターゲットオブジェクトのみを作成する | 移行タスクのみでサポートされます。スキーマ移行 のみを選択します。 |
前提条件
開始する前に、以下の点を確認してください。
タスクは、[オブジェクトの設定] ステージにあります。このステージに到達する手順については、「同期ソリューションの概要」および「データ移行シナリオの概要」をご参照ください。
(旧バージョン)タスクが オブジェクトと詳細設定の設定 ステージにあること。
移行タイプ または 同期タイプ のすべてのオプションを選択してください。一部のみを選択すると、予期しない結果が生じる可能性があります。
制限事項
タスク開始後に名前マッピングを実行しないでください。実行すると、データ損失やタスク失敗を引き起こす可能性があります。
オブジェクト名をマッピングした場合、そのマッピング済みオブジェクトに依存する他のソース側オブジェクトが同期または移行に失敗する可能性があります。
タスクでオブジェクトを選択する粒度が「データベース全体」の場合、データベース名マッピングのみがサポートされます。
テーブル名またはカラム名のマッピングでは、必要な粒度はソースデータベースの種類によって異なります。
ソースデータベースの種類 必要な粒度 MongoDB コレクション Tair/Redis Redis DB その他のすべての種類 テーブル Tair/Redis の送信先: データベース名マッピングのみがサポートされます。送信先として DB 0 ~ DB 255 を指定できます。
DataHub の送信先: データベース名マッピングはサポートされません。
Kafka の送信先: テーブル名 をマッピングした場合、DTS はその名前の Kafka トピックにデータを書き込みます。このトピックは、送信先 Kafka インスタンスにあらかじめ存在している必要があります。存在しない場合はタスクが失敗します。
個別のオブジェクトのマッピング
タスクオブジェクトを ソースオブジェクト から 選択済みオブジェクト エリアに移動します。
選択済みオブジェクト エリア内の対象オブジェクトについて、マッピングダイアログを以下のいずれかの方法で開きます。
オブジェクトを右クリックします。
オブジェクト上にカーソルを合わせ、表示される 編集 ボタンをクリックします。
送信先でのオブジェクト名を変更します。
データベース名マッピング: スキーマの編集 ダイアログで、送信先データベース名を設定します。> 注意: ソースおよび送信先がともに SQL Server の場合、代わりに データベース名の編集 ダイアログが表示されます。

テーブル名マッピング: テーブルの編集 ダイアログで、送信先テーブル名を設定します。> 注意: 一部のインスタンスでは、テーブルの編集 ダイアログでカラムの追加や、増分タスク向けの DML/DDL 文のフィルター設定も可能です。データベースマッピングとテーブルマッピングで異なる文フィルターが指定されている場合、テーブルマッピングのフィルターが優先されます。> > 条件によるデータフィルターを設定するには、テーブルの編集 ダイアログでフィルター条件を構成します。詳細については、「フィルター条件の設定」をご参照ください。

カラム名マッピング: テーブルの編集 ダイアログの カラム セクションに移動し、各カラムに対して 送信先カラム名 を設定します。> 注意: カラム名マッピングでは、カラムのデータの型を変更することはできません。

OK をクリックします。
その他の必要な DTS タスクパラメーターを設定します。
オブジェクトの一括マッピング
一括マッピングでは、複数の選択済みオブジェクトに同時に命名規則を適用できます。プレフィックスまたはサフィックスの追加、全名称の置き換え、キーワードを削除した名称の短縮などが可能です。
利用可能な規則は、すべてのソースデータベース種類で共通です。
| 規則 | 動作内容 | 例 |
|---|---|---|
| プレフィックスとサフィックスの追加 | 各名称の前および/または後に文字を追加します | orders → prod_orders_v2 |
| 全名称の変更 | 選択されたすべての名称を単一の新しい名称に置き換えます | db1、db2 → unified_db |
| 全名称の短縮 | 各名称から指定されたキーワードを削除します | prod_orders_archive → prod_orders(キーワード:_archive) |
手順:
タスクオブジェクトを ソースオブジェクト から 選択済みオブジェクト エリアに移動します。
選択済みオブジェクト エリアの右上隅にある 一括編集 をクリックします。
一括編集 ダイアログで、ご使用のソースデータベース種類に応じた手順に従います。
ソースデータベースが Tair/Redis の場合
オブジェクトの選択 ボックスで、編集対象のオブジェクトを選択します。一括編集タイプはデフォルトで 選択したデータベースのみを含む になります。
(任意)編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
有効範囲を選択します。
名前変更済みオブジェクト名の編集: 以前に名前変更済みの名称に、一括ルールを上書き適用します。
元のオブジェクト名の編集: 元のソース側名称に基づいて、一括ルールを適用します。
ルールを選択し、設定します。
ルールを追加するには、適用 をクリックします。
OK をクリックします。

ソースデータベースが SQL Server の場合
一括編集タイプを選択します。この例では、すべてのデータベースおよびテーブルを選択 を使用します。
オブジェクトの選択 ボックスで、編集対象のオブジェクトを選択します。
(任意)編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
(任意)オブジェクト名の種類を選択します。
ライブラリテーブル名: データベース名およびテーブル名のみをマッピングします。
スキーマ名: スキーマ名のみをマッピングします。
オブジェクト名の種類の選択 は、オブジェクトの設定 ページの ソースおよびターゲットデータベースのスキーママッピングモード が ソーススキーマ名.ソーステーブル名 をターゲットテーブル名として使用 に設定されている場合、またはその設定項目がページに表示されていない場合にのみ利用可能です。
有効範囲を選択します。
名前変更済みオブジェクト名の編集: 以前に名前変更済みの名称に、一括ルールを上書き適用します。
元のオブジェクト名の編集: 元のソース側名称に基づいて、一括ルールを適用します。
ルールを選択し、設定します。
ルールを追加するには、適用 をクリックします。
OK をクリックします。

ソースデータベースがその他の種類の場合
一括編集タイプを選択します。この例では、すべてのデータベースおよびテーブルを選択 を使用します。
オブジェクトの選択 ボックスで、編集対象のオブジェクトを選択します。
(任意)編集タイプの選択 エリアで、オブジェクト名 タブをクリックします。
一部のインスタンスでは、このエリアでカラムの追加や、増分タスク向けの DML/DDL 文のフィルター設定も可能です。
有効範囲を選択します。
名前変更済みオブジェクト名の編集: 以前に名前変更済みの名称に、一括ルールを上書き適用します。
元のオブジェクト名の編集: 元のソース側名称に基づいて、一括ルールを適用します。
ルールを選択し、設定します。
ルールを追加するには、適用 をクリックします。
OK をクリックします。

一括マッピングの完了後、その他の必要な DTS タスクパラメーターを設定します。
一部のカラムのみを同期または移行する
特定のカラムを同期または移行から除外するには、カラムリストから該当カラムのチェックを解除します。
テーブルを ソースオブジェクト から 選択済みオブジェクト エリアに移動します。
選択済みオブジェクト エリア内のテーブルを右クリックして、テーブルマッピングダイアログを開きます。
「テーブルの編集」ダイアログで、「列」セクションに移動し、「すべてのテーブルを同期」チェックボックスのチェックを解除します。

同期または移行から除外するカラムのチェックボックスをクリアします。
OK をクリックします。
その他の必要な DTS タスクパラメーターを設定します。
よくある質問
特定のカラムを同期または移行から除外するにはどうすればよいですか?
カラム名マッピング機能をご利用ください。テーブルの編集 ダイアログの カラム セクションに移動し、すべてのテーブルを同期 のチェックボックスをクリアした後、除外するカラムのチェックボックスをクリアします。
カラム名マッピングでは、カラムのデータの型を変更できますか?
いいえ。
追加済みの一括編集ルールを後から変更できますか?
いいえ、できません。ルールを変更するには、ルール横の削除アイコン
をクリックしてルールを削除したうえで、新しいルールを追加してください。
なぜ一括編集ルールが消えてしまったのですか?
ルールの設定後に 適用 をクリックしなかったか、誤って削除した可能性があります。