SELECT
s.*,
t.*
FROM sys.dm_exec_query_stats AS s
CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) as t
CROSS APPLY sys.dm_exec_query_plan(s.plan_handle) as p -- If you wants plans also
WHERE 1 = 1
AND s.last_execution_time >= CAST(DATEADD(MINUTE, -30, GETUTCDATE()) AS DATETIME) -- last 30 mins
ORDER BY s.last_execution_time DESC;
查询存储在只读副本上不可用。监视查询性能的一种方法是使用动态管理视图 (DMV)。
您可以依靠 sys.[dm_db_wait_stats] 来监视等待情况,请参阅我在 StackOverflow 上共享的脚本。
使用 DMV 进行监控的另一个示例是在每个副本上运行此查询。
此 PowerShell 脚本由 Microsoft Scalation 工程师编写。
Azure Database Watcher是一个可以帮助您监视 Azure SQL 副本的工具,目前处于预览版。