如果我有以下SQL:
BEGIN TRANSACTION
SELECT val
FROM myTable
并且不跟进提交,TRANSACTION会发生什么?它是否取决于它执行的上下文/范围(例如在proc,mgt studio中)?
是否有一些地方可以查看是否有尚未在数据库中提交/回滚的事务?
谢谢,
克里斯
答案 0 :(得分:7)
在连接关闭之前一直保持打开状态。关闭连接后,将回滚事务。
目前的交易可以在sys.dm_tran_active_transactions和sys.dm_tran_database_transactions中找到。
答案 1 :(得分:1)
不会为事务中使用的对象释放锁定,只有该连接可以看到更改。
答案 2 :(得分:1)
使用以下命令检查数据库中的所有打开事务:
DBCC CHECKTRAN