MSSQL 查看当前连接和未结束的事务

系统运维 waitig 309℃ 百度已收录 0评论

由于在执行数据库offline的时候,卡住没动,再查看就报952的错误

经查,是因为有未完成的事务或者连接未退出

1. 查看当前的连接

SELECT conn.session_id, host_name, program_name,
    nt_domain, login_name, connect_time, last_request_end_time 
FROM sys.dm_exec_sessions AS sess
JOIN sys.dm_exec_connections AS conn
   ON sess.session_id = conn.session_id;

2. 断掉当前的连接 

KILL [Session_ID]

3. 查看当前的未完成的事务

select *
from sys.dm_tran_session_transactions 
where is_user_transaction=1;

4. 强制停止当前的事务

附录一:

这个错误的重现及说明

https://mssqltrek.com/2011/07/15/database-testdb-is-in-transition-try-the-statement-later-error952/

附录二:

T-SQL杀连接和事务的说明-MSDN

https://docs.microsoft.com/zh-cn/sql/t-sql/language-elements/kill-transact-sql 


本文由【waitig】发表在等英博客
本文固定链接:MSSQL 查看当前连接和未结束的事务
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)