tencent cloud

Data Transfer Service

よくあるエラーの対処

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 19:52:49
AI翻訳
本章節では、タスクの実行中によく発生するエラーとその対処方法を説明します。ユーザーは対応するガイドに従ってエラーを処理できます。

MySQLのよくあるエラー

以下は、MySQLデータベースの移行、同期、サブスクリプションのプロセスにおけるエラーと対処方法です。記載されているエラーコードはMySQLシステムのエラーコードです。
エラーコード
エラーコード説明
エラー発生シーン
エラー例
分析と対処方法
1227
権限の問題
データ移行、データ同期、データ購読
Error 1227: Access denied.
問題分析
タスクを実行するアカウントにソースデータベース/ターゲットデータベースへの接続権限がありません。
対処方法
タスクを実行するアカウントに権限を付与してください。具体的なアカウント権限の要件については、操作ガイドの対応ドキュメントを参照してください。
1040
データベースの接続数が多すぎます。
データ移行、データ同期
Error 1040: Too many connections.
問題分析
データベースの接続数が多すぎます。
対処方法
ソースデータベースの最大接続数max_connectionsをより大きな値に変更し、ソースデータベースの未使用の接続を閉じるか、または後で業務量が少ないときにタスクを再試行してください。
1045
操作が拒否されました。
データ移行、データ同期、データ購読
Error 1045 (28000): Access denied for user '{{xx}}'@'{{xx}}' (using password: YES)
問題分析
タスクの実行中にユーザーがアカウント権限またはパスワード情報を変更しました。
ソースデータベースまたはターゲットデータベースでDTSのサービスIPに権限が付与されていません。
対処方法
アカウントまたはパスワードの変更操作があるかどうかをチェックし、ある場合は取り消すか元に戻してください。具体的なアカウント権限の要件については、操作ガイドの対応ドキュメントを参照してください。
ドキュメントを参照して、DTSのサービスIPに権限を付与してください。
1050
データベース・テーブルが既に存在します。DDL文を繰り返し実行しました。
データ移行、データ同期
Error 1050: Table {{*}} already exists, binlog position:<{{*}}>, gtid:{{*}}, related tables: {{*}}
問題分析
マルチ統合マイグレーション/同期タスクを作成する際、複数のソースデータベースで同じDDL操作が実行されると、ターゲットデータベースでDDL操作が重複します。マルチ統合シナリオでは、1つの同期タスクでのみDDL操作を選択できます。
タスクの実行中に、ユーザーが同時にターゲットデータベースにも該当テーブルを作成したため、ソースデータベースのDDL操作がターゲットデータベースに同期され、重複して実行されました。
ネットワーク異常または文の実行時間が長すぎる場合、タスクの再試行中にDDLが重複して実行されることがあります。
対処方法
上記の分析に従って調査してください。現在のトランザクションをスキップする必要がある場合は、チケットを送信して処理してください。
1054
関連テーブルに不明な列が含まれています。
データ移行、データ同期
Error 1054: Unknown column {{*}} related tables: {{*}}
問題分析
タスクの開始前に、該当テーブル構造の移行/同期を選択しなかったため、ターゲットデータベースに対応する列が含まれていません。
タスクの実行中に、ユーザーが同時にターゲットデータベースを操作し、該当列を削除しました。
対処方法
ターゲットデータベースでこの列が存在するかどうかを確認してください。存在しない場合は、この列を補完してからタスクを再試行してください。
1062
PK競合エラー
データ同期
Error 1062: Duplicate entry '{{xx}}' for key 'PRIMARY', related tables: '{{xx}}'.
問題分析
同期シナリオにおいて、主キー競合処理メカニズムで競合エラーを選択した場合、DTSはターゲットデータベースとソースデータベースの同期データで主キー競合が発生するとエラーを報告します。
タスクの実行中に、手動でターゲットデータベースにデータを書き込んだため、ターゲットデータベースに同じPKのレコードが既に存在しています。
タスクの実行前に、ソースデータベースで一意キーチェックが無効になっており、ソースデータベース自体に重複したPKデータが既に存在しています。
タスクの実行中にDelete操作が同期されなかったため、ソースデータベースのデータが削除された後もターゲットデータベースに同期されず、ソースデータベースがデータを挿入する際にターゲットデータベースのPKと競合しました。
対処方法
ソースデータベースに重複したPKがあるかどうかをチェックし、ある場合は先に処理してください。
ターゲットデータベース内の対応するデータテーブルのPKを変更または削除してから、タスクを再試行してください。
1071
インデックスフィールドの長さが長すぎます。
データ移行、データ同期
Error 1071 (42000): Specified key was too long; max key length is 767 bytes.
問題分析
デフォルトでは、InnoDBエンジンの単一フィールドインデックスの長さは最大767バイトです。つまり、767/2<384個のダブルバイトフィールド、または767/3<256個のトリプルバイトフィールドに相当します。GBKはダブルバイト、UTF-8はトリプルバイト、utf8mb4_unicode_ciは4バイトです。MySQL 5.6以降のバージョンでは、すべてのMyISAMテーブルは自動的にInnoDBに変換されます。そのため、自社構築データベース上に767バイトを超える複合インデックス列がある場合、同じテーブル作成ステートメントは自社構築データベース上では正常に実行されますが、MySQL 5.6以降のバージョンでは問題が発生します。
対処方法
ファイル内のエラー行にある複合インデックス列の長さを変更してください。
例:create table test(test varchar(255) primary key)charset=utf8;
-- 成功
create table test(test varchar(256) primary key)charset=utf8;-- 失敗
1146
データベース・テーブルが存在しません。
データ移行、
データ同期
Error 1146: Table '{{xx}}' doesn't exist on query.
問題分析
タスクの実行中に、ターゲットデータベース上で該当テーブルが削除されました。
ソースデータベースはデータエクスポート段階でテーブル構造変更のDDLを実行しました。
タスク開始前に、該当テーブル構造の移行/同期を選択していません。
対処方法
ターゲットデータベースでshow create table xxxを実行し、このテーブルが存在するかどうかを確認してください。存在しない場合は、ターゲットデータベースで手動でこのテーブルを作成してください。
1213
ソースデータベースとターゲットデータベースの二重書き込みによりデッドロックが発生しました。
データ移行、データ同期
Error 1213: Deadlock found when trying to get lock; try restarting transaction, related tables: '{{xx}}'.
問題分析
DTSによるターゲットデータベースへの書き込み操作とユーザーによるターゲットデータベースへの書き込み操作が競合し、デッドロックが発生します。
対処方法
デッドロックプロセスを終了し、タスクを再構築します。
インスタンス制御下での更新操作のロックロジックを見直し、テーブルにインデックスを追加し、可能な限り行ロックを使用して、ロックのオーバーヘッドを削減することをお勧めします。
1236
ソース側Binlogログの問題
データ移行、データ同期、データ購読
Error 1236 (HY000): Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup……
問題分析
ソースデータベースのBinlogログの保存期間が短く、DTSが取得する際にすでに削除されているか、取得したBinlogの位置が正しくない可能性があります。
対処方法
ソースデータベースのBinlog保存期間(expire_logs_days)の設定が業務要件を満たしていることを確認してください。保存期間は3日以上を推奨します。その後、タスクを再構築してください。
1414
データエクスポート段階で、ソースデータベースはテーブル構造を変更するDDLを実行しました。
データマイグレーション
Error 1414: Table definition has changed, please retry transanction.
問題分析
ソースデータベースのデータエクスポート段階では、テーブル構造を変更するDDL操作を実行することはできません。実行すると、エラーが発生する可能性があります。
対処方法
移行タスクを再構築してください。

DTSのよくあるエラー

以下は、DTSシステムの移行、同期、サブスクリプションのプロセスにおける一般的なエラーと対処方法です。
エラー説明
エラー発生シーン
エラー例
分析と対処方法
データベース接続異常
データ移行、データ同期、データ購読
{{*}}invalid connection{{*}}.
driver: bad connection,{{*}}
dial tcp {{*}}: connect: connection refused.
問題分析
1. ソース/ターゲットデータベースが隔離またはオフラインになりました。
2. ソース/ターゲットデータベースが長時間再起動に失敗しました。
3. ソース/ターゲットデータベースでマスタースレーブ切り替えが長時間成功しません。
4. ソース/ターゲットデータベースの負荷が高すぎます。
5. 手動またはプログラムにより、定期的/不定期にソース/ターゲットデータベース上の接続をKillします。
6. その他、ネットワーク接続の失敗を引き起こす可能性がある状況があります。例えば、ソース/ターゲットデータベースにネットワークセキュリティポリシーを設定し、アクセスリクエストをブロックした場合です。
対処方法 上記の分析に従って、一つずつ確認して解決してください。
Tencent Cloudインスタンスの場合、インスタンスコンソールおよびTCOPを通じて問題の切り分けと解決を支援できます。解決後はコンソールでタスクを再試行して再開できます。
問題が発見されない場合、または解決が成功しない場合は、チケットを提出して処理できます。
データベース接続異常
データ移行、データ同期、データ購読
dial tcp {{*}}: connect: connection refused.
問題分析
1. ソース/ターゲットデータベースが隔離またはオフラインになりました。
2. ソース/ターゲットデータベースが長時間再起動に失敗しました。
3. ソース/ターゲットデータベースでマスタースレーブ切り替えが長時間成功しません。
4. ソース/ターゲットデータベースの負荷が高すぎます。
5. その他、ネットワーク接続の失敗を引き起こす可能性がある状況があります。例えば、ソース/ターゲットデータベースにネットワークセキュリティポリシーを設定し、アクセスリクエストをブロックした場合です。
対処方法 上記の分析に従って、一つずつ確認して解決してください。
Tencent Cloudインスタンスの場合、インスタンスコンソールおよびTCOPを通じて問題の切り分けと解決を支援できます。解決後はコンソールでタスクを再試行して再開できます。
問題が発見されない場合、または解決が成功しない場合は、チケットを提出して処理できます。
ソースデータベースで長時間実行されているSQLが原因でロックの取得に失敗しました。
データ移行、データ同期
Find Resumable Error, src db has long query sql, fix it and try it later.
Find Resumable Error: Task failed due to table lock failure caused by time-consuming SQL query statements in source instance.

問題分析
ソースデータベースで長時間実行されているSQLが存在する場合(5秒超)、ソースデータの業務に影響を与えないようにするため、DTSは低速SQLの実行が終了するのを待ってからロックを取得してデータをエクスポートする必要があります。デフォルトのロック取得時間は60秒で、タイムアウトするとロック取得に失敗し、タスクがエラーを報告します。
対処方法
ソースデータベース内の低速SQLを処理するか、低速SQLの実行が終了するのを待ってからタスクを再構築してください。
Binlogパラメータの形式が要件を満たしていません。
データ移行、データ同期、データ購読
Statement binlog format unsupported:{{xx}}.
binlog must ROW format, but MIXED now.
binlog row before/after image not full, missing column {{xx}}, binlog posistion:{{xx}}, gtid:{{*}}.
問題分析
データの正確性と完全性を保証するために、DTSはソースデータベースのBinlog関連パラメータに対して以下の要件を定めます。チェック段階でもソースデータベースのBinlogパラメータをチェックし、要件を満たさない場合はエラーが発生し、タスクを開始できません。
チェックが通過してタスクが開始された後、ユーザーがソースデータベースのBinlogパラメータを変更した場合もタスクエラーが発生します。ソースデータベースのBinlogが以下の要件を満たしていることを確認してください。
binlog_formatをROWに設定する必要があります。
binlog_row_imageをFULLに設定する必要があります。
対処方法
プロンプトに従ってエラーパラメータを変更し、詳細な操作手順についてはBinlog パラメータチェックを参照してから、タスクを再構築してください。
注意:パラメータ変更後、有効にするためにスレッドを再起動する必要があります。データベースを再起動するとパラメータは初期設定に戻るため、再起動後にパラメータ設定が正しいことを確認してください。
内蔵Kafka異常
データ購読
kafka: error while consuming {{*}}.
kafka: Failed to produce message to topic.
問題分析
DTSデータ購読に内蔵されているKafkaコンポーネントの生産または消費に異常が発生した場合、バックエンドサービスは自動的に再試行して自己回復します。ページを更新して、タスクの状態遷移を確認してください。
対処方法
10分以上経過してから更新しても状態が遷移しない場合は、チケットを送信して処理してください。
タスクが7日以上停止すると、Kafkaデータが期限切れになります。
データ購読
kafka server: The requested offset is outside the range of offsets maintained by the server for the given topic/partition.
問題分析
タスクの停止または異常が7日を超えると、DTSタスクが中間キャッシュするKafkaデータが期限切れになり、Kafkaデータの読み取りに失敗します。
解決方法
タスクを破棄して再構築してください。年額・月額契約のタスクの場合は、リセット操作によって新しいタスクを作成できます。



ヘルプとサポート

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

フィードバック