SQL Server等待类型解析与优化
1. LAZYWRITER_SLEEP等待类型
LAZYWRITER_SLEEP等待类型表示lazywriter进程处于睡眠状态或等待工作的时间,通常可以安全地忽略。不过,如果lazywriter进程持续将脏页从缓冲区缓存移动到数据库数据文件,这可能表明SQL Server实例正面临内存压力。因为每个页面在被读取或修改之前都必须先移动到缓冲区缓存,这种行为可能导致LAZYWRITER_SLEEP等待类型的等待时间低于正常水平。
- 工作原理 :lazywriter进程按固定时间间隔启动,当缓冲区缓存中没有足够的空闲页面时,负责将脏数据页写入数据库数据文件。LAZYWRITER_SLEEP等待类型表明lazywriter进程当前未运行,处于睡眠状态,直到被唤醒并检查缓冲区缓存。
2. MSQL_XP等待类型
2.1 概述
MSQL_XP等待类型用于记录SQL Server实例上扩展存储过程的执行时间,同时也用于检测使用多个活动结果集(MARS)时的死锁情况。MARS是一种允许通过单个SQL Server连接执行多个(并发)批处理的功能。
2.2 常见原因
出现高于正常水平的MSQL_XP等待时间,最常见的原因是扩展存储过程的执行。只要扩展存储过程的执行时间保持一致,这不一定意味着存在问题。但如果扩展存储过程的执行时间比预期长,与基线相比,MSQL_XP等待时间的增加会很明显。
2.3 示例
以下是一个演示MSQL_XP等待发生的示例脚本:
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



