Pix*_*ted 9 sql-server optimization locking wait-types sql-server-2014
编辑:为什么会话报告被阻止但等待PAGELATCH_*,而不是LCK_M_相关的等待类型?
我之前假设 SQL Server 只会在 blocks_session_Id 列中报告阻塞会话。如果被阻塞的会话正在等待逻辑锁而不是其他任何东西,例如PAGELATCH_*.
我之前假设 SQL Server 只会在 blocks_session_id 列中报告一个阻塞会话,如果被阻塞的会话正在等待一个逻辑锁而不是其他任何东西,比如
PAGELATCH_*.
您使用的是 Adam Machanic 的sp_WhoIsActive过程,而不是内置的 SQL Server 工具。Adam 的过程报告了所有“有趣”的阻塞原因,而不仅仅是锁阻塞。底层信息来自各种来源,包括sysprocesses、sys.dm_exec_requests和sys.dm_os_waiting_tasks。
除了锁之外,任务还可以等待其他事情。例如,它可能能够获取页面上一行的排他锁,但仍然必须等待获取排他页面锁存器(因为其他任务以不兼容的模式锁住了同一页)。
在您的示例中,PAGELATCH_EX独占页锁存器位于常规数据或索引页上,而不是 PFS、GAM、SGAM、DCM 或 BCM 页,如wait_info末尾的 (*)所示。
您可以在sp_WhoIsActive 此处找到文档(博客条目)。
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |