The script output produced by SQL Toolkit is broken into transaction batches, so if one particular batch fails, the entire script rolls back to the start. This is also the default behavior if you let SQL Compare /Data Compare engines run the synchronization script for you. If this is a Packager API project, be aware that if the data script needs to roll back, the schema script had already been committed.

If you want to change the scripts so that any script errors will not roll back, set the NoSqlPlumbing option in SQL Compare and unset the UseTransactions option in the SessionSettings enumeration of the Data Compare Engine.