首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查UPDATE语句使用的锁类型?

如何检查UPDATE语句使用的锁类型?
EN

Database Administration用户
提问于 2015-06-04 16:42:48
回答 1查看 188关注 0票数 2

如何确定update语句是否将表锁、页锁或行锁放置在表上?

EN

回答 1

Database Administration用户

发布于 2015-06-04 19:07:39

你可以看到车管所的锁叫sys.dm_tran_locks。从resource_type列(f. ex )可以看到锁的类型。对象、页等)。

更多信息可在MSDN中获得

此外,也许乔纳森·凯哈伊亚斯的这个查询是有用的:

代码语言:javascript
复制
SELECT dm_tran_locks.request_session_id,
       dm_tran_locks.resource_database_id,
       DB_NAME(dm_tran_locks.resource_database_id) AS dbname,
       CASE
           WHEN resource_type = 'object'
               THEN OBJECT_NAME(dm_tran_locks.resource_associated_entity_id)
           ELSE OBJECT_NAME(partitions.OBJECT_ID)
       END AS ObjectName,
       partitions.index_id,
       indexes.name AS index_name,
       dm_tran_locks.resource_type,
       dm_tran_locks.resource_description,
       dm_tran_locks.resource_associated_entity_id,
       dm_tran_locks.request_mode,
       dm_tran_locks.request_status
FROM sys.dm_tran_locks
LEFT JOIN sys.partitions ON partitions.hobt_id = dm_tran_locks.resource_associated_entity_id
JOIN sys.indexes ON indexes.OBJECT_ID = partitions.OBJECT_ID AND indexes.index_id = partitions.index_id
WHERE resource_associated_entity_id > 0
  AND resource_database_id = DB_ID()
ORDER BY request_session_id, resource_associated_entity_id 
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/103271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档