Before Data Transmission Service (DTS) runs a data synchronization task, DTS performs a precheck on the source and destination databases. This topic describes how to troubleshoot precheck failures based on the causes.

Precheck itemPossible causeSolution

Source database connectivity

Destination database connectivity

The database account or password is invalid. Obtain the valid password, and change the password of the source or destination database in the DTS console. The password is specified when you configure the data synchronization task. For more information, see Change the password of a database account.
The IP address that is used to connect to the source or destination database is denied.
  • If the source or destination database runs MySQL, authorize the database account again. The CIDR blocks of DTS servers must be added to a whitelist of the database. For more information about the CIDR blocks of DTS servers, see Add the CIDR blocks of DTS servers to the security settings of on-premises databases.
  • If the source or destination database runs SQL Server, disable the firewall or trigger settings.
  • If the source or destination database runs Oracle, set the TCP.VALIDNODE_CHECKING parameter to no and restart the process.
A firewall is configured on the server where the source or destination database resides. Disable the firewall settings.
Source database versionDTS does not support the current database version. For more information, see Overview of data synchronization scenarios. Upgrade or downgrade your database version.
Database existenceIf the destination database does not exist in the destination instance, DTS may fail to create a database due to the following reasons:
  • The database name contains special characters except letters, digits, underscores (_), and hyphens (-).
  • The character set of the database is not UTF8, GBK, Latin1, or UTF8MB4.
  • The account that is used to connect to the destination database does not have the required permissions.
Create a database in the destination instance or grant the required permissions to the database account.
Source database permissionsThe account that is used to connect to the source or destination database does not have the required permissions. For example, the dts.precheck.Unexpected error check item fails.
Note The permissions that are required for a database vary with the database type. For more information, see Overview of data synchronization scenarios.
Grant the required permissions to the database account or use a database account that has required permissions to perform the data synchronization task.
Note We recommend that you use other tools to verify whether the database account is granted the required permissions.
Destination database permissions
Object name conflict existenceThe source and destination databases have the same name, or the source and destination tables have the same name.
Value of server_id in the source databaseThe value of the server-id parameter is not set to an integer that is greater than or equal to 2. Connect to the source database and change the value of the server-id parameter. For more information, see Value of server_id in the source database.
Whether binary logging is enabled for the source databaseThe binary logging feature is disabled for the source database. Connect to the source database and enable the binary logging feature. For more information, see Whether binary logging is enabled for the source database.
Binary log format of the source databaseThe binary log format of the source database is set to ROW. Connect to the source database, execute the set global binlog_format='ROW'; statement, and then restart the MySQL process.
Integrity of the FOREIGN KEY constraintsThe parent table on which a child table depends is not included in the required objects. This impairs the integrity of the FOREIGN KEY constraint.
Storage engineThe storage engine of the source table is FEDERATED, MRG_MyISAM, or TokuDB. Connect to the source database and set the storage engine of the source table to InnoDB.
Character setDTS does not support the character set of the required objects, such as UCS2. Connect to the source database and set the character set of source tables to UTF8, GBK, Latin1, or UTF-8MB4.
Complicated topologies existenceDTS does not support the topology that you use for the source and destination instances. For more information, see Synchronization topologies. Stop the conflicting task or wait for the task to complete, and then perform data synchronization again.
Format of MySQL database passwordThe format of the password that is used to connect to the source database is no longer valid. Change the format of the database password. For more information, see old_passwords.