一般遇到non-yield调度程序问题, 有以下解决方案:
- 原因通常是 SQL Server 外部引起的。检查 SQL Server 及其所有存储之间的整个路径,无论是内部存储卡还是外部存储。这种情况是否每月都会发生。 SAN 是否已修补?服务器及其存储之间是否每月进行一次交换机故障转移?如果它在集群中,请检查当时集群中发生了什么其他事情。如果是VM,请检查虚拟机管理程序及其存储。如果是按计划发生的,那么就去系统中的其他地方寻找匹配的计划。
- 应用最新的累积更新 (CU):使用最新的累积更新 (CU) 使 SQL Server 保持最新状态对于解决已知问题和增强系统稳定性至关重要。建议应用可用于 SQL Server 2019 的最新 CU。这种主动措施将有助于防止潜在的非生成调度程序问题和其他相关问题。KB4541303 - 修复:Always On 可用性组在运行中可能会出现非Microsoft SQL Server
- **启用内存中的锁定页面:**为了缓解与内存相关的问题,建议为 SQL Server 服务帐户启用“锁定内存页面”选项。启用此选项允许 SQL Server 将数据保留在物理内存中,从而降低遇到不产生调度程序条件的可能性。Lock Pages in Memory for SQL Server on Windows
如果以上方案仍无法解决, 建议开微软的ticket,找专业的技术支持帮忙分析诊断Dump文件。
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。 注意:如果您想接收此线程的相关电子邮件通知,请按照文档中的步骤启用电子邮件通知。