SQL Compare 13

Could not enlist in a distributed transaction

SQL Compare may display this message if you're 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 deployment, SQL Compare sets the transaction isolation level to SERIALIZABLE. To run the deployment SQL script on the target database, you may need to change the transaction isolation level.  

  • In Tools–>Application Options, change the Transaction Isolation Level to Read Committed.
  • Deploy your changes as usual.  The new transaction isolation level should be correctly set at the top of the script produced by Compare.
 
This can cause problems by allowing competing DDL operations to run at the same time as the SQL Compare script.

 

You should take precautions to make sure no changes are made to the target database structure when you run the deployment SQL script.


Didn't find what you were looking for?