Mos*_*aou 0 sql sql-server locking
我试图找到并杀死一个已在其中一个表上设置锁定的会话,并阻止许多其他查询执行.为此,我使用以下脚本:
SELECT REQUEST_MODE, REQUEST_TYPE, REQUEST_SESSION_ID
FROM sys.dm_tran_locks
WHERE RESOURCE_TYPE = 'OBJECT'
AND RESOURCE_ASSOCIATED_ENTITY_ID =(SELECT OBJECT_ID('System'))
Run Code Online (Sandbox Code Playgroud)
我得到的结果集如下:

运行EXEC sp_who2不会返回具有负SPID的任何行.如何找到锁定我的表的会话?
sys.dm_tran_lock,REQUEST_SESSION_ID:
值-2表示请求属于孤立的分布式事务.
因此,这里不再存在实际的会话ID.阅读这些评论应该会引导您KILL:
使用KILL UOW终止孤立的分布式事务.这些事务与任何真实会话ID无关,而是与会话ID =' - 2'人为关联.此会话ID可以更容易地通过查询sys.dm_tran_locks,sys.dm_exec_sessions或sys.dm_exec_requests视图动态管理视图中的会话ID列标识孤立事务.
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |