在 SQL Server 2017(及更高版本)中,对于在可用性组中配置并启用了查询存储的数据库,自动调整是否适用于只读副本?
我不这么认为,因为查询存储数据存储在读/写数据库中,被复制到所有 AG 只读副本,因此不代表/支持在给定只读副本上执行的任何查询活动,并且所以不能支持任何只读副本的自动调整。
这个对吗?我希望有人可以反驳这一点,或提供某种解决方法。我们在一些重要的只读副本查询上遇到了严重的查询嗅探问题,如果自动调整可以解决这个问题,管理层可能会购买升级。
(我在网上找不到任何关于此的内容,而且几乎没有关于自动调整的任何内容。)
不,它不会像 BOL 中记录的那样(对于 azure,但仍适用于 sql server on prem):
是的。SQLSkills 的 Erin 有一个很好的常见问题解答,它说:因为副本是只读的,并且查询存储固有地将数据写入数据库,所以您无法启用它来捕获针对该只读副本执行的查询。
如果您遇到参数嗅探问题,您可以使用查询提示(通过适当的测试),正如 Paul White 在他的博客文章中所解释的那样