Sql server 如何检查SQL表是否已锁定以进行查询?
无论出于何种原因,数据库中的一个特定表开始无法完成特定表上的任何查询结果。它表示“正在执行查询…”,但未完成 比如: 其他表正在返回行 如何/在何处检查表是否已锁定?检查此示例Sql server 如何检查SQL表是否已锁定以进行查询?,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,无论出于何种原因,数据库中的一个特定表开始无法完成特定表上的任何查询结果。它表示“正在执行查询…”,但未完成 比如: 其他表正在返回行 如何/在何处检查表是否已锁定?检查此示例 select object_name(P.object_id) as TableName , resource_type , resource_description , request_mode , CASE REQUEST_MODE
select
object_name(P.object_id) as TableName
, resource_type
, resource_description
, request_mode
, CASE REQUEST_MODE
WHEN 'S' THEN 'Shared'
WHEN 'U' THEN 'Update'
WHEN 'X' THEN 'Exclusive'
WHEN 'IS' THEN 'Intent Shared'
WHEN 'IU' THEN 'Intent Update'
WHEN 'IX' THEN 'Intent Exclusive'
WHEN 'SIU' THEN 'Shared Intent Update'
WHEN 'SIX' THEN 'Shared Intent Exclusive'
WHEN 'UIX' THEN 'Update Intent Exclusive'
WHEN 'BU' THEN 'Bulk Update'
WHEN 'RangeS_S' THEN 'Shared Range S'
WHEN 'RangeS_U' THEN 'Shared Range U'
WHEN 'RangeI_N' THEN 'Insert Range'
WHEN 'RangeI_S' THEN 'Insert Range S'
WHEN 'RangeI_U' THEN 'Insert Range U'
WHEN 'RangeI_X' THEN 'Insert Range X'
WHEN 'RangeX_S' THEN 'Exclusive range S'
WHEN 'RangeX_U' THEN 'Exclusive range U'
WHEN 'RangeX_X' THEN 'Exclusive range X'
WHEN 'SCH-M' THEN 'Schema-Modification'
WHEN 'SCH-S' THEN 'Schema-Stability'
ELSE NULL
END AS REQUEST_LOCK_MODE
FROM sys.dm_tran_locks AS L
join sys.partitions AS P
on L.resource_associated_entity_id = p.hobt_id
REF:有几种方法可以检查阻止查询的内容。最简单的方法是启动内置程序 同样简单的方法是查看并查看被阻止查询的
等待类型
、等待时间
、等待资源
和阻塞会话id
列(使用会话id
识别它)
查看更复杂但信息更丰富的way watch。
exec sp_lock exec sp_who2
只需一条注释-请尝试使用foo(无锁)。如果运行得更快,那么它可能是一个锁。并添加:WHERE p.object\u id=object\u id('foo')
select
object_name(P.object_id) as TableName
, resource_type
, resource_description
, request_mode
, CASE REQUEST_MODE
WHEN 'S' THEN 'Shared'
WHEN 'U' THEN 'Update'
WHEN 'X' THEN 'Exclusive'
WHEN 'IS' THEN 'Intent Shared'
WHEN 'IU' THEN 'Intent Update'
WHEN 'IX' THEN 'Intent Exclusive'
WHEN 'SIU' THEN 'Shared Intent Update'
WHEN 'SIX' THEN 'Shared Intent Exclusive'
WHEN 'UIX' THEN 'Update Intent Exclusive'
WHEN 'BU' THEN 'Bulk Update'
WHEN 'RangeS_S' THEN 'Shared Range S'
WHEN 'RangeS_U' THEN 'Shared Range U'
WHEN 'RangeI_N' THEN 'Insert Range'
WHEN 'RangeI_S' THEN 'Insert Range S'
WHEN 'RangeI_U' THEN 'Insert Range U'
WHEN 'RangeI_X' THEN 'Insert Range X'
WHEN 'RangeX_S' THEN 'Exclusive range S'
WHEN 'RangeX_U' THEN 'Exclusive range U'
WHEN 'RangeX_X' THEN 'Exclusive range X'
WHEN 'SCH-M' THEN 'Schema-Modification'
WHEN 'SCH-S' THEN 'Schema-Stability'
ELSE NULL
END AS REQUEST_LOCK_MODE
FROM sys.dm_tran_locks AS L
join sys.partitions AS P
on L.resource_associated_entity_id = p.hobt_id