在最新的 SQL Server 2019 CU、KB5037331 之后,我在我的几个 SqlServer Server 日志中反复收到以下消息:“长异步 API 调用:调度程序的调度公平性可能会受到异步 API 调用意外超过 [8 位大数字] 毫秒的影响。”
我在更新说明中看到以下变化:
“当由于底层存储的性能问题而在 Bufferpool Lazy Writer(ntdll!ZwWriteFile 系统调用)中检测到高 I/O 延迟时,添加以下日志消息:
警告长异步 API 调用:异步 API 调用意外超过 xxx 毫秒可能会影响调度程序的调度公平性。”
问题是,除了基本的 I/O 故障排除之外,我不知道该如何处理这些信息。我需要终止什么才能停止此消息?我如何确定 I/O 问题涉及哪些文件/对象以解决潜在问题?
这是补丁 CU27 的一个已知问题。
请参阅:https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/cumulativeupdate27#2901635
MSFT 已将其添加为一项功能,但现在却成了问题。他们非常清楚这一点,并且很可能会在下一个 CU 中修复此问题,正如他们的网站所述
“此更新中的已知问题 问题一:错误日志中过多记录异步 API 调用警告 问题 2901635 中新创建的警告消息可能会使 SQL Server 错误日志中出现数千次。该消息为“警告长异步 API 调用:调度程序的调度公平性可能会受到意外超过 xxx 毫秒的异步 API 调用的影响。” 这是由于构建过程中的代码更改不正确造成的。 Microsoft 正在努力修复此问题,并将在未来的 CU 中提供。”
https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/cumulativeupdate27#known-issues-in-this-update