Could not enlist in a distributed transaction
Published 13 December 2022
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.
You should take precautions to make sure no changes are made to the target database structure when you run the deployment SQL script.