Режим транзакции по умолчанию в SQL Server: autocommit , если не указано иное. Это означает, что каждый оператор выполняется в своей собственной транзакции; если произойдет сбой, все предыдущие операторы все равно будут успешны.
Вы можете изменить это с помощью оператора BEGIN TRAN
(явная транзакция) или SET IMPLICIT_TRANSACTIONS ON
(включает неявные транзакции). Обратите внимание, что если вы включаете неявные транзакции, то только BEGIN
является неявным - вам все равно нужно явно COMMIT
.
Также обычно считается плохой практикой использовать неявные транзакции; это приводит к появлению скриптов с ошибками из-за того, что границы транзакций не видны четко.