SQL Compare

Latest version: 10.0

SQL Compare

Knowledge base

Common error messages

Some of the more common error messages are explained below.

Could not start a transaction for OLE DB provider (name)

SQL Compare displays this message when your source database contains an object that references a linked server, but the linked server is not defined on the target server.

SQL Server doesn't exist or access is denied

SQL Compare cannot connect to the SQL Server. Try the following to rectify the problem:

  1. Verify that the SQL Server is online and that the SQL Server name is listed in your LAN by pinging the address.

    For example, open a command prompt and run the following command:

    ping <ServerName>

    where ServerName is the name of your SQL Server.

    If the SQL Server is online, verify that you are connecting to the correct port.

    If your SQL Server is not running on the default port (1433), type the following in Server on the Project Configuration dialog box:

    <ServerName>,<Port>

    where ServerName is the name of your SQL Server and Port is the number of the port on which your SQL Server is running.

    For example:

  2. If you are sure that you are connecting to the correct port, force SQL Compare to use the TCP network protocol when it makes the connection, by typing the following in Server on the Project Configuration dialog box:

    TCP:<ServerName> For example:

A duplicate object name has been found

SQL Compare displays this message when you compare a database on a SQL Server that uses case-sensitive sort order and you have not selected the Treat items as case sensitive project option; you must select this project option.

SQL Compare also displays this message if you create a snapshot of a database on a SQL Server that uses case-sensitive sort order and you have not selected the Treat items as case sensitive check box on the Create Database Snapshot dialog box.

Could not enlist in a distributed transaction

SQL Compare may display this message if you are updating a stored procedure that references objects across a linked server and the database system on the linked server does not support the same transaction isolation levels as SQL Server.

To prevent other schema modifications from taking place at the same time as the synchronization, SQL Compare sets the transaction isolation level to SERIALIZABLE. To run the synchronization SQL script on the target database, you may need to change the transaction isolation level; open the script in your SQL application, and change the line:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

to:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED

Note that you should then take other precautions to ensure that no changes are made to the structure of the target database when you run the synchronization SQL script.

See also

Copying the structure of a database

Rollback on script failure or cancellation

Permissions required to use SQL Compare

Errors in scripts folders

Was this article helpful?

Search support
Forums
Visit the SQL Compare forum.

SQL Compare

all SQL products

all products