存储过程重新编译 SQL Server 2016

Stored procedure recompilation SQL Server 2016

提问人:Mr. K 提问时间:11/28/2019 最后编辑:Mr. K 更新时间:11/28/2019 访问量:80

问:

我的生产环境具有 SQL Server 2016 SP-2 CU-6 Ent。版本,我每次都面临 SP 缓慢的问题。一旦我重新编译它,它就会开始正常工作,但不会持续很长时间。
我知道重新编译的重要性和用法,但这不应该那么频繁,以至于一天内每一天或两次我都必须重新编译所有过程。

是否有任何可用的永久修复程序?我打算应用最新的 CU,但不确定它是否会修复。让我知道如何解决这个问题。

sql-server 性能 存储过程 sql-server-2016

评论

1赞 Mukesh Arora 11/28/2019
请分享您的过程或查询以帮助解决此问题。我能猜到,这可能是由于参数嗅探造成的。参考此链接 - sqlshack.com/...
0赞 Mr. K 11/28/2019
@MukeshArora我知道重新编译的原因和意义,但这里它与单个存储过程无关。我必须重新编译多个存储过程。我认为这是某种错误,但不确定。
0赞 ankyskywalker 11/28/2019
也许这将有助于 stored-procedure-runs-fast-after-recompile ;为什么是我的查询突然比昨天慢
0赞 sepupic 11/28/2019
您应该将“慢速”执行计划与重新编译后生成的计划进行比较
0赞 Mr. K 11/29/2019
感谢你们的宝贵意见。但我认为这些不会起作用,因为这不是与单个进程相关的问题,而是与数据库中的多个进程相关的问题。我已经从数据库级配置中禁用了 prameter 嗅探选项,这在我的情况下似乎是合理的。

答: 暂无答案