我在 MS 网站上读到 SQL Azure 不支持 SQL Profiler。人们用什么来分析在这个平台上运行的查询?
8 回答
我还没有玩太多 SQL Azure,但据我了解,目前没有任何东西可以使用。
来自 MS(可能是您阅读的文章):
因为 SQL Azure 执行物理管理,任何试图直接操作物理资源的语句和选项都将被阻止,例如资源调控器、文件组引用和一些物理服务器 DDL 语句。也不能设置服务器选项和 SQL 跟踪标志或使用 SQL Server Profiler 或 Database Tuning Advisor 实用程序。
如果有一个替代方案,我想它需要能够设置你不能做的跟踪标志,因此我认为目前没有选择。
解决方案?我只能建议您拥有数据库的本地开发副本,以便您可以在本地运行探查器。我知道这对“实时”问题/调试/监控没有帮助,但这取决于您需要它的用途。
编辑:来自MSDN 论坛 的引用:
问:SQL Azure 是否支持 SQL Profiler?
答:我们不支持 SQL Azure v1 中的 SQL Profiler。
现在,您可以将其解释为未来版本将支持 Profiler 的暗示。我认为让很多人参与进来,认真使用 SQL Azure 将是一个很大的要求。
截至 2015 年 9 月 17 日的更新:
微软刚刚宣布了一项名为Index Advisor的新功能:
指数顾问如何运作?Index Advisor 持续监控您的数据库工作负载、执行分析并推荐可以进一步提高数据库性能的新索引。
建议始终保持最新:随着数据库工作负载和模式的发展,Index Advisor 将监控更改并相应地调整建议。每个建议都带有对数据库工作负载性能的估计影响:您可以使用此信息优先考虑最有影响的建议。此外,Index Advisor 提供了一种非常简单且强大的方法来创建推荐的索引。
创建新索引只需点击几下。Index Advisor 衡量新创建的索引的影响并向用户提供有关索引影响的报告。您可以通过以下简单步骤开始使用 Index Advisor 并提高数据库性能。从字面上看,只需五分钟即可习惯 Index Advisor 简单直观的用户界面。让我们开始吧!
原答案:
SQL Azure 现在有一些本机分析。有关详细信息,请参阅http://blogs.msdn.com/b/benko/archive/2012/05/19/cloudtip-14-how-do-i-get-sql-profiler-info-from-sql-azure.aspx .
Microsoft 声明的立场 SQL Server Profiler 已弃用。尽管这是一个坏主意,但他们就是这么说的。
SQL Profile 已在 SQL Server 中弃用,这也是将其引入 SQL DB 没有意义的部分原因。
这意味着您将回到 20 多年前的数据库性能监控领域,每个人都将不得不编写自己的性能监控脚本,而不是在您将访问的每台服务器上都有标准的工厂交付工具。这无异于弃用“sp_help”,让每个 DBA 自己编写。希望您从里到外都了解您的所有 DMV... INNER JOIN、OUTER JOIN 和 CROSS APPLY 语法非常好。
截至 2017/04/14 的更新:
Microsoft 的 Scott Guthrie 今天宣布了 SQLAzure 中的许多新功能(这称为 sqlazure 托管实例,目前处于预览状态),预计将在未来几个月内出现在 SQLAzure 中。以下是它们
1.SQLAgent
2.SQLProfiler
3.SQLCLR
4.Service Broker
5.Logshipping,Transactional Replication
6.Native/Backup restore
7.Additional DMV's and Xevents
8.cross database querying
我今天尝试了微软推荐的一个新工具,叫做Azure Data Studio。
在这个工具中,您可以下载一个名为Profiler的扩展程序,它似乎按预期工作。
您可以使用查询存储功能,请在此处查看更多详细信息: http: //azure.microsoft.com/blog/2015/06/08/query-store-a-flight-data-recorder-for-your-database/
我发现在 Azure SQL 中工作的最接近 SQL 分析器的是SQL Workload Profiler 但是请注意,它是一个工具的测试版,由一个人创建,使用起来不太方便。
SQL Azure 提供以下功能来调整性能、以自己的方式分析查询、标识长时间运行的查询等等
智能性能 性能概览 性能建议 查询性能洞察 自动调优