根据咨询顾问Andy Warren称,尽管在SQL Server 2016中SQL Server Query Store的首次发布得到大力宣传,但很多公司对于部署该性能监控和故障排除工具仍犹豫不决。具有讽刺意味的是,这主要是因为它自身对SQL Server系统性能的潜在影响。
当启用Query Store时,它会按数据库获取有关所有提交查询和查询执行计划的运行时统计信息以及其他信息。用户可为数据库服务器中的所有数据库或仅特定数据库打开该功能,主要基于工作负载优先级或最小化Query Store对SQL Server环境的整体性能影响。
在最近的网络研讨会中,Warren将Query Store描述为一组表,其中包含有关查询(针对数据库)的详细信息。美国佛罗里达州咨询公司Fourdeuce的总裁Warren说,当开启后,该工具就会全天候运行,并以易于用户访问和理解的方式保存信息。
Query Store可用于检测回归-即查询性能下降的情况。然后,它允许用户选择自己的查询计划,而不是依赖SQL Server的Query Optimizer来执行此操作。例如,他们可以强制执行Query Store中保存的先前计划来代替当前计划以逆转回归。该工具还可以帮助研究数据库使用模式,不过,Warren称用户需要安装SQL Server Profiler或Extended Events监控软件才能实现这一点。
Warren在该网络研讨会上称,虽然Query Store听起来很有用,但它并没有得到充分利用。很多SQL Server数据库管理员(DBA)已经在使用第三方产品,以更加用户友好的方式执行大多数Query Store的任务。该网络研讨会发布在MSSQLTips网站,由IT管理工具供应商Quest Software公司赞助。
Query Store性能影响引起用户关注
Warren指出,潜在用户也会担心Query Store带来的性能影响。由于该工具开启后会持续运行,它可能会占用其他程序的系统资源。根据Warren的说法,数据库管理员可能会认为运行Query Store会增加数据库服务器的处理开销,并且通常有充分的理由。
有些数据库管理员对Query Store很感兴趣但想要先评估其性能影响,对于这部分数据库管理领域,Warren建议在非工作时间尝试使用该工具。他说:“这是你周四晚上六点钟才会开启的功能,请在高峰时段之后开启它。”
Query Store运行确实会占用资源,它需要收集有关查询的信息,并在SQL Server数据库内构建其数据存储,Warren表示该工具可能会使用比最初预期更多的CPU周期。但他向网络研讨会听众保证,这是非常正常的情况,尽管可能会带来性能影响。
Warren警告说,数据库管理员通常会先猜测Query Store收集的数据需要多少磁盘空间,Query Store的默认容量为100 MB。他说,最糟糕的情况是该工具在达到其存储限制后默默切换到只读模式;在这种情况下,它会停止收集数据,这会影响查询性能分析的准确性。因此,Warren建议在第一个月每周检查一次磁盘空间。
如何在SQL Server中打开Query Store
为使Query Store在数据库中运行,请在SQL Server Management Studio的Object Explorer 用户界面中右键单击该数据库,然后单击“Properties”并从“Database Properties”对话框窗口中打开“Query Store”页面。然后,你可以选择将“Operation Mode”设置从“Off”更改为“只读”或“读写”。
Warren建议选择后一种设置,因为只有在你没有空间获取新数据或决定不想收集更多数据时才应使用只读设置。在Object Explorer中,你还可以更改Query Store收集统计信息的时间间隔及其分配的存储容量。或者,你可以通过Transact-SQL脚本使用ALTER DATABASE语句完成所有这些步骤。
无论哪种方式,Query Store都很容易激活和停用。Warren建议说:“打开它,让它运行一会儿,把它关掉。对于了解Query Store来说,这是一个很棒的适应练习。”
Warren承认,并非每个企业都需要使用该工具,部分原因是用户可能在其数据库服务器中看到Query Store性能影响。尽管如此,这仍然是一种值得为数据库管理员所知的技术,特别是因为Query Store是SQL Server 2016及更高版本的标准功能。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
Java、JDBC和Postgres
现在越来越多的企业开始部署PostgreSQL,为什么呢?当你看到这个许可开源数据库所提供的功能,你就不会对此 […]
-
5个元数据管理最佳实践
在数据驱动的环境中,元数据不仅仅是数据的副产品;还是综合数据治理战略的关键组成部分。企业需要适当的元数据管理, […]
-
Cockroach Labs增加矢量搜索,更新定价选项
Cockroach Labs 近日推出矢量搜索功能,旨在使客户能够访问和操作非结构化数据,以训练生成式人工智能 […]
-
如何使用数据治理成熟度模型
如果没有强大的数据治理,数据就无法产生有价值的见解以及改善决策。数据治理成熟度模型可帮助企业评估当前的成就水平 […]