症状
假设在 2017 和 2019 SQL Server启用自动查询优化。 执行许多并发存储过程时,可能会遇到以下情况下的 COMPILE 阻止情况:
-
执行存储过程。
-
使用查询数据存储 (QDS) 来强制计划。
-
对sp_recompile运行此规则,以强制从过程缓存中删除计划。
-
在许多单独的会话中并发运行存储过程。
原因
通过使用查询数据存储强制执行计划并将其从过程缓存中删除后,该计划不再缓存,并发执行会导致编译阻塞。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
以下累积更新中修复了此问题SQL Server:
关于更新的累积SQL Server:
每个新的累积更新SQL Server包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看最新累积更新,了解SQL Server:
参考
了解 Microsoft 用于描述软件更新的术语。