すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:事前チェックの失敗のトラブルシューティング

最終更新日:Nov 04, 2024

Data Transmission Service (DTS) がデータ同期タスクを実行する前に、DTSはソースデータベースとターゲットデータベースの事前チェックを実行します。 このトピックでは、原因に基づいて事前チェックの失敗をトラブルシューティングする方法について説明します。

事前チェックアイテム考えられる原因解決策

ソースデータベース接続

宛先データベースの接続性

データベースアカウントまたはパスワードが無効です。 有効なパスワードを取得し、DTSコンソールでソースデータベースまたはターゲットデータベースのパスワードを変更します。 パスワードは、データ同期タスクを設定するときに指定します。 詳細については、「データベースアカウントのパスワードの変更」をご参照ください。
ソースデータベースまたはターゲットデータベースへの接続に使用されるIPアドレスが拒否されます。
  • ソースデータベースまたはターゲットデータベースがMySQLを実行している場合は、データベースアカウントに再度権限を付与します。 DTSサーバーのCIDRブロックをデータベースのホワイトリストに追加する必要があります。 DTSサーバーのCIDRブロックの詳細については、「DTSサーバーのCIDRブロックの追加」をご参照ください。
  • ソースデータベースまたはターゲットデータベースがSQL Serverを実行している場合は、ファイアウォールまたはトリガーの設定を無効にします。
  • ソースまたはターゲットデータベースがOracleを実行している場合は、TCP.VALIDNODE_CHECKINGパラメーターをnoに設定し、プロセスを再起動します。
ファイアウォールは、ソースまたはターゲットデータベースが存在するサーバー上に設定されます。 ファイアウォールの設定を無効にします。
ソースデータベースのバージョンDTSは現在のデータベースバージョンをサポートしていません。 詳細については、「データ同期シナリオの概要」をご参照ください。 データベースのバージョンをアップグレードまたはダウングレードします。
データベースの存在ターゲットデータベースがターゲットインスタンスに存在しない場合、次の理由により、DTSがデータベースの作成に失敗する可能性があります。
  • データベース名には、英数字、アンダースコア (_) 、ハイフン (-) 以外の特殊文字が含まれます。
  • データベースの文字セットがUTF8, GBK, Latin1, UTF8MB4ではありません。
  • ターゲットデータベースへの接続に使用されるアカウントには、必要な権限がありません。
ターゲットインスタンスにデータベースを作成するか、データベースアカウントに必要な権限を付与します。
ソースデータベースの権限ソースまたはターゲットデータベースへの接続に使用されるアカウントには、必要な権限がありません。 たとえば、dts.precheck.Unexpectedエラーチェック項目は失敗します。
説明 データベースに必要なアクセス許可は、データベースの種類によって異なります。 詳細については、「データ同期シナリオの概要」をご参照ください。
データベースアカウントに必要な権限を付与するか、データ同期タスクを実行するために必要な権限を持つデータベースアカウントを使用します。
説明 他のツールを使用して、データベースアカウントに必要な権限が付与されているかどうかを確認することを推奨します。
宛先データベースの権限
オブジェクト名の競合の存在ソースデータベースと宛先データベースの名前が同じか、ソーステーブルと宛先テーブルの名前が同じです。
  • ターゲットデータベースに接続し、データベース名またはテーブル名を変更します。
  • オブジェクト名マッピング機能を使用して、競合するオブジェクトの名前をターゲットデータベース内の他のオブジェクトにマップします。 詳細については、「同期するオブジェクトの名前変更」をご参照ください。
  • 競合するオブジェクトを削除します。 詳細については、「データ同期タスクからのオブジェクトの削除」をご参照ください。
ソースデータベースのserver_idの値server-idパラメーターの値が2以上の整数に設定されていません。 ソースデータベースに接続し、server-idパラメーターの値を変更します。 詳細については、「ソースデータベースのserver_idの値」をご参照ください。
ソースデータベースに対してバイナリログが有効になっているかどうかソースデータベースのバイナリログ機能は無効になっています。 ソースデータベースに接続し、バイナリログ機能を有効にします。 詳細については、「ソースデータベースでバイナリログが有効になっているかどうか」をご参照ください。
ソースデータベースのバイナリログ形式ソースデータベースのバイナリログ形式はROWに設定されています。 ソースデータベースに接続し、set global binlog_format='ROW'; 文を実行してから、MySQLプロセスを再起動します。
FOREIGN KEY制約の整合性子テーブルが依存する親テーブルは、必須オブジェクトに含まれません。 これは、FOREIGN KEY制約の完全性を損なう。
ストレージエンジンソーステーブルのストレージエンジンは、FEDERATED、MRG_MyISAM、またはTokuDBです。 ソースデータベースに接続し、ソーステーブルのストレージエンジンをInnoDBに設定します。
文字の組み合わせDTSは、UCS2などの必要なオブジェクトの文字セットをサポートしていません。 ソースデータベースに接続し、ソーステーブルの文字セットをUTF8、GBK、Latin1、またはUTF-8MB4に設定します。
複雑なトポロジの存在DTSは、ソースインスタンスとターゲットインスタンスに使用するトポロジをサポートしていません。 詳細については、「同期トポロジ」をご参照ください。 競合するタスクを停止するか、タスクが完了するのを待ってから、データ同期を再度実行します。
MySQLデータベースパスワードの形式ソースデータベースへの接続に使用されるパスワードの形式が無効になりました。 データベースパスワードの形式を変更します。 詳細については、「old_passwords」をご参照ください。