查询持有的锁的数量,我得到一个几百的数字:
SELECT count(*) from
SYS.dm_tran_locks
但是查询性能计数器‘锁定块’给我一个大约 45,000 的数字。
SELECT object_name, counter_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE [counter_name] in ('Lock Blocks', 'Lock Blocks Allocated', 'Lock Memory (KB)', 'Lock Owner Blocks')
Microsoft 对锁块的定义如下:
指定服务器上当前正在使用的锁块数(定期刷新)。锁块代表单个锁定的资源,例如表、页面或行。
所以我希望数字相同,或者至少大致相同。我的理解显然有些欠缺,所以我正在努力更好地理解这一点。任何帮助都将不胜感激。