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

本文介绍了解决SQL Server中952错误的方法,包括如何检查并断开问题连接,强制停止未完成的事务,确保数据库可以成功离线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于在执行数据库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 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值