sql-server – MSSQL Server是否具有MySQL的查询日志?

前端之家收集整理的这篇文章主要介绍了sql-server – MSSQL Server是否具有MySQL的查询日志?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经使用 MySQL很长一段时间了,并且发现通用查询日志和慢查询日志对于找出服务器上发生的事情以及识别瓶颈非常有用.

现在我需要使用sql Server. sql Server是否具有类似的日志工具?如果是这样,他们叫什么?

解决方法

sql Server保存有关各种表中所有查询统计信息.您可以使用以下代码来确定运行时间最长的查询(来自sys.dm_exec_query_stats表).

您应该运行以下DBCC命令:

此DBCC命令清除服务器缓存并重新启动查询运行时的日志记录:

DBCC FREEPROCCACHE

运行此查询以查找运行时间最长的查询

SELECT DISTINCT TOP 10
 t.TEXT QueryName,s.execution_count AS ExecutionCount,s.max_elapsed_time AS MaxElapsedTime,ISNULL(s.total_elapsed_time / s.execution_count,0) AS AvgElapsedTime,s.creation_time AS LogCreatedOn,ISNULL(s.execution_count / DATEDIFF(s,s.creation_time,GETDATE()),0) AS FrequencyPerSec
 FROM sys.dm_exec_query_stats s
 CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
 ORDER BY
 s.max_elapsed_time DESC
 GO

您还应该查看Technet杂志文章Optimizing SQL Server Query Performance,该文章有一个查询,用于确定哪个查询是最昂贵的读取I / O查询,以及有关如何查看执行计划和其他优化的指导.

猜你在找的MsSQL相关文章