我正在使用 SQL Server 2014 Express
似乎在发生诸如数据锁定之类的事件时重新启动 SQL Server 并不是(总是)这样一个好主意。http://www.sqlpassion.at/archive/2016/08/08/restarting-sql-server-always-a-good-idea/
我想具体问下SQL Server Restart会回滚未提交事务的问题。
我的同事跑了SELECT @@TRANCOUNT
,得了零分。因此,他假设重新启动 SQL Server 不会导致任何类型的回滚。尽管如此,从一张桌子移到另一张桌子的位置在重新开始后又移回了原处。
SELECT @@TRANCOUNT
是否存在即使返回零也会发生回滚的情况?
根据在线文档:
https://learn.microsoft.com/en-us/sql/t-sql/functions/trancount-transact-sql
这是一个连接级别变量。如果您的同事运行查询的连接以外的连接有打开的事务,则可能有打开的事务。
我相信计数器会显示显式交易的数量,因此您可能无法获得预期的结果。