Sql server 在SQL Server上监视什么

Sql server 在SQL Server上监视什么,sql-server,performance,powershell,wmi,monitoring,Sql Server,Performance,Powershell,Wmi,Monitoring,我被要求监视SQL Server(2005和2008),我想知道什么是好的指标?我可以访问WMI计数器,但对于有多少深度是有用的,我有点不知所措 目前我的名单上有: 用户连接 每秒登录数 闩锁每秒等待数 总闩锁等待时间 每秒死锁数 每秒错误数 日志和数据文件大小 我希望能够监控指示机器性能下降或潜在严重问题的值。为此,我还想知道,这些东西中的一些被认为是正常的还是有问题的 因为我认为这可能是一个非常好的问题,能够回答一般社区的问题,我想我会向你们中的一些DBA专家求爱(我当然不是他们中的一员

我被要求监视SQL Server(2005和2008),我想知道什么是好的指标?我可以访问WMI计数器,但对于有多少深度是有用的,我有点不知所措

目前我的名单上有:

  • 用户连接
  • 每秒登录数
  • 闩锁每秒等待数
  • 总闩锁等待时间
  • 每秒死锁数
  • 每秒错误数
  • 日志和数据文件大小
我希望能够监控指示机器性能下降或潜在严重问题的值。为此,我还想知道,这些东西中的一些被认为是正常的还是有问题的

因为我认为这可能是一个非常好的问题,能够回答一般社区的问题,我想我会向你们中的一些DBA专家求爱(我当然不是他们中的一员!)

如果是一个开放式的问题,我会道歉。
Ry

我还将监控
页面预期寿命
和您的
缓冲区缓存命中率
,有关详细信息,请参阅使用SQL Profiler来确定您的前10个(或更多)查询。为这些查询创建基线性能。查看当前平均执行时间与基线的对比,如果显著高于基线,则发出警报。您还可以使用此列表来确定可能进行优化的查询


这在更高的层次上解决了这个问题,而不仅仅是查看详细的统计数据,尽管这些统计数据也很有用。我发现这种方法适用于任何DBMS,包括MySQL和Oracle。如果您的顶级查询时间开始增加,您可以打赌您开始遇到性能问题,然后您可以开始深入了解更多细节。

如果预算允许,值得查看一些第三方工具以提供帮助。我们使用它来监视服务器运行状况,并关注查询性能。这两种产品在我们店里都很好地为我们服务。

CPU利用率百分比和平均磁盘队列长度也是相当标准的。CPU始终超过80%表明您可能需要更多或更好的CPU(以及容纳它们的服务器);任何磁盘队列上始终超过2表示该驱动器上存在磁盘I/O瓶颈。

您应该监视分配给特定进程的总页面数。您可以通过查询sys数据库获得该信息

  sys.dm_exec_sessions s
   LEFT  JOIN sys.dm_exec_connections c
        ON  s.session_id = c.session_id
   LEFT JOIN sys.dm_db_task_space_usage tsu
        ON  tsu.session_id = s.session_id
   LEFT JOIN sys.dm_os_tasks t
        ON  t.session_id = tsu.session_id
        AND t.request_id = tsu.request_id
   LEFT JOIN sys.dm_exec_requests r
        ON  r.session_id = tsu.session_id
        AND r.request_id = tsu.request_id
   OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) TSQL
下面的文章很好地解释了在什么都不起作用的情况下如何使用它来监视服务器

除了上面建议的性能指标外,我强烈建议监控可用内存、批处理请求/秒、SQL编译/秒和SQL重新编译/秒。所有都可以在视图和中使用

至于

理想情况下,我希望将监控项目分为三类,即“仅供参考”、“警告”和“关键”

有许多第三方监控工具使您能够创建不同严重性级别的警报,因此,一旦确定要监控的内容以及环境的建议值,您就可以设置低、中、高警报

查看Brent Ozar关于“不太有用的指标”的文章。

回答晚了,但其他读者可能会感兴趣

我的一位同事也有类似的问题,他用这条线索帮助他开始。 他还访问了一篇博客文章,描述了性能问题的常见原因,并说明了除了这里已经提到的指标之外,还应该监控哪些指标。这些其他指标包括:

•%磁盘时间:

此计数器表示磁盘有问题,但必须与当前磁盘队列长度计数器一起观察才能真正提供信息。还记得,在%磁盘时间达到100%之前,磁盘可能是一个瓶颈

•%磁盘读取时间和%磁盘写入时间:

%Disk Read Time和%Disk Write Time指标类似于%Disk Time,只是分别显示从磁盘读取或写入磁盘的操作。它们实际上是以百分比表示的平均磁盘读取队列长度和平均磁盘写入队列长度值

•%空闲时间:

测量采样间隔期间磁盘空闲的时间百分比。如果此计数器低于20%,则磁盘系统饱和。您可以考虑用更快的磁盘系统替换当前的磁盘系统。 •%的可用空间:

测量所选逻辑磁盘驱动器上可用空间的百分比。如果低于15%,请注意,因为您可能会耗尽操作系统存储关键文件的可用空间。一个显而易见的解决方案是增加更多的磁盘空间

如果你想阅读整篇文章,你可以在这里找到:

这一切都取决于您对该监控的需求。这篇文章有点陈旧,但可能有一些好的建议。我想要的是一个盒子出现故障的迹象。意识到这一点非常模糊,但理想情况下,我希望将监控项目分为三类,即“仅供参考”、“警告”和“关键”。我们还使用Quest DB性能分析,可以很好地直观地了解服务器中的情况。其中一个不好的地方是,它告诉我们谁是受害者,但很难确定谁在消耗资源。