对于Azure上托管的数据库,我可以查看在其上执行的查询的最近历史记录 . 这是通过 Azure portal > Database > Manage > Administration > Query Performance .
不幸的是,那里发现的历史只涵盖了一小段时间(几分钟) . 我打算在我的数据库上创建非聚集索引,为此,需要在典型的一天获取对数据运行的真实查询的日志,而不是过去几分钟 .
目前,我必须多次刷新页面并记录每次刷新的所有查询 . 即使这样,我在这个艰难的过程之后获得的日志只反映了执行的一小部分查询 . 有没有选择查看较长时期的历史记录?
谢谢 .
2 回答
Windows Azure SQL数据库提供动态管理视图(DMV),可返回服务器状态信息,可用于监视服务器实例的运行状况,诊断问题和调整性能 .
有关可用视图的列表,请参阅System Views (Windows Azure SQL Database) .
有关如何查找CPU密集型查询的示例,长时间运行的查询和I / O密集型查询请参阅Tuning SQL Azure Databases, Part 2 .
有关其他疑难解答提示,请参阅Troubleshoot and Optimize Queries with Windows Azure SQL Database,_ 27333375,_ 27333376,_ 27333377,Finding Blocking Queries in SQL Azure,March Madness – SQL Azure – sys.dm_exec_query_stats .
还要考虑在应用程序级别进行性能分析,例如Profiling Database Activity in the Entity Framework和Query Profiling SQL Azure when using Entity Framework or Linq-to-SQL中所述 .
对于高级监视,请考虑部署Windows Azure SQL Database Management Pack for System Center 2012 .
这是一个查询,我发现在Azure SQL Server数据库上查看执行最多的查询很有用:
资料来源:March Madness - SQL Azure - sys.dm_exec_query_plan | SQLRockstar | Thomas LaRock