我尚未深入研究SQL Azure,但据我所知,目前没有可用的选项。
来自微软(可能是您阅读的文章):
由于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将监视这些变化并相应地调整建议。每个建议都带有对DB工作负载性能的估计影响:您可以使用此信息优先处理最具影响力的建议。此外,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。
这意味着您将回到20多年前的数据库性能监控时代,每个人都需要编写自己的性能监控脚本,而不是使用每台服务器上都有的标准工厂交付工具。这等同于弃用 "sp_help" 并让每个 DBA 自己编写。希望您非常熟悉所有 DMVs 的 INNER JOIN、OUTER JOIN 和 CROSS APPLY 语法。SQL Profile 在 SQL Server 中已被废弃,这也是为什么将其引入 SQL DB 没有意义的原因之一。
2017/04/14更新:
微软的Scott Guthrie今天宣布了SQLAzure(这被称为sqlazure managed instance,目前处于预览阶段)中许多新功能,这些功能预计将在未来几个月内出现。以下是它们:
1.SQLAgent
2.SQLProfiler
3.SQLCLR
4.Service Broker
5.Logshipping、Transactional Replication
6.Native/Backup restore
7.额外的DMV和Xevents
8.跨数据库查询
您可以使用Query存储功能,此处有更多详细信息:http://azure.microsoft.com/blog/2015/06/08/query-store-a-flight-data-recorder-for-your-database/
SQL Azure提供以下功能来调整性能,以其自己的方式配置查询,识别长时间运行的查询等等
智能性能 性能概述 性能建议 查询性能洞察 自动调整
我在Azure SQL中找到的最接近SQL Profiler的工具是SQL Workload Profiler。但请注意,这是一个由单个人创建的测试版工具,使用起来并不太方便。