我们知道SQL SERVER,在查询分析器下执行Insert, Update, Delete等语句(脚本)时,执行成功后就自动提交到数据库层面了,这是由于DBMS自动设置为隐式事务模式(SET IMPLICIT_TRANSACTIONS OFF,相当于AUTOCOMMIT = ON),这样的好处是不用显式执行COMMIT语句,也不会阻塞其他连接的会话查询数据或更改和相关表的数据。但也由于是自动提交的,往往应用系统运维人员后台执行了这类DML语句忘了带上WHERE条件,可能整个表的数据就被错误更改了,这样的手工低级错误实际情况时有发生。为了避免该情况的发生,可以考虑修改SQL Server Management Studio管理工具的配置为默认不自动提交事务模式。
操作步骤:工具 -> 选项 -> 查询执行--SQL Server--ANSI,勾选SET IMPLICT_TRANSACTIONS(M)。