我需要使用 DTA 测量 SQL Azure DB 性能,是否可能,如果不是,使用工作负载文件 (.trc) 的解决方法是什么?
2 回答
Alberto 是正确的 - SQL Azure 中有一些功能可以在某些情况下自动监控和提高数据库查询的性能。SQL Azure 目前不支持探查器跟踪 + 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
数据库引擎优化顾问不支持 Azure SQL 数据库。也无法使用 SQL Server Profiler 从 Azure SQL 数据库创建跟踪文件。
SQL Azure 使用名为自动调整的功能自动创建索引,从而提高工作负载的性能。Azure SQL 上的自动调优还会删除冗余索引并使用最佳执行计划进行查询