找出表上的活动锁数

Abd*_*man 5 sql-server locking

我想知道是否有办法找出 SQL Server 中一个表上持有的活动锁的数量?

Aar*_*and 12

这是一个开始。请记住,锁可以并行运行,因此您可能会看到同一个对象被锁定在多个resource_lock_partition值上。

USE yourdatabase;
GO

SELECT * FROM sys.dm_tran_locks
  WHERE resource_database_id = DB_ID()
  AND resource_associated_entity_id = OBJECT_ID(N'dbo.yourtablename');
Run Code Online (Sandbox Code Playgroud)

请查看文档 sys.dm_tran_locks