tencent cloud

Data Transfer Service

高度なオブジェクトの移行

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 16:48:58
AI翻訳・品質チェック済み

操作シナリオ

DTSが移行をサポートする高度なオブジェクトには、関数、トリガー、ストアドプロシージャ、イベントがあります。高度なオブジェクトの移行は一回限りの操作であり、タスク開始前にソースデータベースに既に存在する高度なオブジェクトのみを移行できます。タスク開始後にソースデータベースに追加された高度なオブジェクトは、ターゲットデータベースに同期されません。
説明
現在、高度なオブジェクト移行をサポートしているシナリオは、MySQL、TDSQL-C MySQL、MariaDB、Percona間のデータ移行です。

適用範囲

NewDTSのデータ移行のみです。

注意事項

高度なオブジェクトを移行する際は、データベース・テーブルの名前変更操作を行わないことをお勧めします。そうしないと、高度なオブジェクトの移行が失敗する可能性があります。
高度なオブジェクトの移行失敗は移行タスク全体に影響しません。そのため、移行タスク全体が成功しても、高度なオブジェクトも移行に成功したとは限りません。移行の完了後、ユーザー自身で進捗詳細ページで高度なオブジェクトが移行に成功したかどうかを確認することをお勧めします。
ストアドプロシージャと関数を移行する際、DTSはソースデータベース内のDEFINERに対応するuser1([DEFINER = user1])と移行アカウントuser2が一致するかどうかをチェックします。一致しない場合、移行後にDTSはターゲットデータベース内のuser1のSQL SECURITY属性を変更し、DEFINERからINVOKERに変換します([INVOKER = user1])。同時に、ターゲットデータベース内のDEFINERを移行アカウントuser2に設定します([DEFINER = 移行アカウントuser2])。
ストアドプロシージャと関数は「ソースデータベースエクスポート」段階で移行されます。トリガーとイベントは、増分タスクがない場合はタスク終了時に移行され、増分タスクがある場合はユーザーが完了操作をクリックした後に移行が開始されます。そのため、完了をクリックした後、タスクの移行時間は長くなります。
クロスバージョンの移行の場合、ソースデータベースで高度なオブジェクトに設定されたsql_modeをターゲットデータベースがサポートしていない場合、高度なオブジェクトがターゲットデータベースに移行された後、sql_modeはNO_AUTO_VALUE_ON_ZEROに変更されます。
トリガーとイベントを移行する際は、移行アカウントにソースデータベースのTRIGGERおよびEVENT権限を付与する必要があります。
選択した高度なオブジェクト定義に'''(エスケープ)が存在する場合、MySQL自身の制限に遭遇し、移行タスクが失敗する可能性があります。このような高度なオブジェクトは選択しないことをお勧めします。

操作手順

1. データ移行タスクの移行オプションの設定と移行オブジェクトの選択ページで、高度なオブジェクト機能を設定します。デフォルトでは高度なオブジェクトはチェックされません。移行が必要な場合は、ユーザー自身で選択してください。

2. 検証タスクには高度なオブジェクトのチェック項目が追加されます。詳細は高度なオブジェクトチェックを参照してください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック