Logging 如何查看在Azure上托管的数据库上执行的查询(全部或长期)的历史记录?
对于托管在Azure上的数据库,我可以查看在其上执行的查询的最新历史记录。这是通过Azure门户>数据库>管理>管理>查询性能来实现的 不幸的是,在那里发现的历史只涵盖了一小部分时间(几分钟)。我打算在我的数据库上创建非聚集索引,为此,我需要获得一个在典型的一天(而不是过去几分钟)对数据运行的实际查询的日志 目前,我必须多次刷新页面并记录每次刷新的所有查询,即使如此,我在这一艰难过程后获得的日志也只反映了执行的查询的一小部分。是否可以选择查看更长时间的历史记录Logging 如何查看在Azure上托管的数据库上执行的查询(全部或长期)的历史记录?,logging,azure,indexing,azure-sql-database,database-tuning,Logging,Azure,Indexing,Azure Sql Database,Database Tuning,对于托管在Azure上的数据库,我可以查看在其上执行的查询的最新历史记录。这是通过Azure门户>数据库>管理>管理>查询性能来实现的 不幸的是,在那里发现的历史只涵盖了一小部分时间(几分钟)。我打算在我的数据库上创建非聚集索引,为此,我需要获得一个在典型的一天(而不是过去几分钟)对数据运行的实际查询的日志 目前,我必须多次刷新页面并记录每次刷新的所有查询,即使如此,我在这一艰难过程后获得的日志也只反映了执行的查询的一小部分。是否可以选择查看更长时间的历史记录 谢谢。Windows Azure
谢谢。Windows Azure SQL数据库提供了动态管理视图(DMV),这些视图返回服务器状态信息,可用于监视服务器实例的运行状况、诊断问题和优化性能 有关可用视图的列表,请参阅 有关如何查找CPU密集型查询、长时间运行查询和I/O密集型查询的示例,请参阅 有关其他故障排除提示,请参阅、、
还考虑应用程序级别的分析,例如在./p>中解释的。
对于高级监视,考虑部署。
< P>这是一个查询,我发现在我的Azure SQL Server数据库上执行的查询最有用:SELECT TOP 10 execution_count, statement_text
FROM (
SELECT QS.*,
SUBSTRING(
ST.text,
(QS.statement_start_offset/2) + 1,
((
CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset
) /2)
+ 1
) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST
) AS query_stats
WHERE statement_text LIKE 'UPDATE%'
ORDER BY execution_count DESC
资料来源: