我是否需要使用DTA来衡量SQL Azure DB的性能,如果不能,那么消耗工作负载文件(.trc)的解决方法是什么?
答案 0 :(得分:2)
数据库引擎优化顾问不支持Azure SQL数据库。使用SQL Server Profiler从Azure SQL数据库创建跟踪文件也是不可能的。
SQL Azure通过名为automatic tuning的功能自动创建索引,从而可以改善工作负载的性能。在Azure SQL上进行自动调整还会删除冗余索引,并对查询使用最佳执行计划
答案 1 :(得分:2)
Alberto是正确的-SQL Azure中有一些功能可以在某些情况下自动监视和提高数据库查询的性能。 SQL Azure当前不支持Profiler trace + DTA。 SQL Server中的DTA(数据库优化顾问)功能非常适合进行跟踪并尝试在其他服务器上重播它们以模拟可能的索引和分区更改,从而可以提高性能。自动调整功能无需您今天就使用DTA,即可为您完成此任务。
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automatic-tuning
如果您要做的只是探索数据库的性能,则可以使用SQL Azure(和SQL Server 2016+)中的查询存储来进行这种分析。
https://azure.microsoft.com/en-us/blog/query-store-a-flight-data-recorder-for-your-database/
如果您还没有使用SQL Server Management Studio(SSMS)的最新版本尝试过此操作,那么我强烈建议您下载并尝试一下。您可以按不同的指标查看排名靠前的N个查询,计划随着时间的变化以及其他指标,这些指标可以使您更快地了解数据库+应用程序的性能概况。
今天无法获取.trc文件并在查询存储中进行检查,但是您可以在本地SQL Server(2016+)中启用查询存储,然后记录一下生产工作量以了解如何它表现良好。请理解,使用查询存储运行会产生开销-通常是适度的,但是对于高度临时的OLTP查询工作负载,您可能会看到更大的开销。有一些旋钮可以进行调整,因此请在修改生产系统之前进行常规的尽职调查。如果遇到问题,请关闭它,然后重新检查,直到您具有正确的设置来帮助从工作负载中捕获相关数据以帮助做出调整决策为止。
希望有帮助!
此致, 康纳·坎宁安(Conor Cunningham) SQL架构师