SQL Server 事务与隔离级别深入解析
1. 阻塞问题排查工具
在 SQL Server 中,Adam Machanic 创建了一个名为 sp_WhoIsActive 的存储过程,用于排查阻塞问题。很多人认为它很有用,并将其作为系统中的标准工具。你可以在 Adam 的博客 http://tinyurl.com/WhoIsActive 找到该存储过程、使用说明和许可条款。
当你知道会话 53 是阻塞会话,且其事务处于打开状态时,可使用 KILL 命令终止与该会话关联的用户进程和打开的事务,示例代码如下:
KILL 53;
执行此命令后,会话 53 中事务应用的更改将被撤销。
此外,你可以使用 LOCK_TIMEOUT 会话选项设置锁超时时间(以毫秒为单位)。以下是设置 5 秒锁超时并运行查询的示例:
SET LOCK_TIMEOUT 5000;
SELECT keycol, col1, col2 FROM dbo.T1;
5 秒后,你会收到超时错误:
Msg 1222, Level 16, State 51, Line 2
Lock request tim
超级会员免费看
订阅专栏 解锁全文
658

被折叠的 条评论
为什么被折叠?



