日期:2014-05-16  浏览次数:20531 次

第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(1)

忘了说明:本系列文章出自《Microsoft SQL Server 2012 Performance Tuning Cookbook》,将会陆续推出译文,但是由于工作需要,没有按顺序贴出来。

本系列文章包含三部分:

1、  使用系统统计函数(system statistical functions)来监控系统健康程度。

2、 使用系统存储过程来监控SQLServer进程和会话。

3、  使用DBCC SQLPERF命令来监控日志空间使用情况。

 

前言:

         SQLServer提供了一些系统函数、系统存储过程和DBCC命令来分析SQLServer性能相关的问题,不过绝大部分这些工具所获得的信息都可以通过DMVsDMFs来获得。很多人依旧使用本文的工具的原因是因为他们长期使用这些工具来监控SQLServer,已经成为了一个习惯,所以为了向后兼容,微软依旧保留这些工具,但是建议新入门的人尽可能从DMODMVsDMFs的统称)中获取信息。

 

      性能监控有很多工具,SQL Profiler、扩展事件、DMO及本系列文章提供的工具等,来获取信息,对于简单的性能问题,使用某一种即可,但是对于复杂的性能问题,往往需要多个工具协同使用。

 

下面先介绍使用系统统计函数来监控SQLServer的健康程度。

 

使用系统统计函数来监控SQLServer

 

        SQLServer提供了一些列非常有用的系统统计函数来监控当前SQLServer的状态。这些函数用于检查和监控服务器的健康状态非常有效。

 

       现在假设一个情况,在你的数据库环境中,一个web应用程序对数据集的操作是一行一行的。为了读取每一行,应用程序会在数据库中往返访问,导致经常需要开启新的连接。为了处理这个问题,需要经常监控SQLServer的连接数,下面将演示如何操作。

 

准备工作:

 

SQLServer提供了下面这些有用的系统函数:

 

@@CONNECTIONS

@@TIMETICKS

@@CPU_BUSY

@@IDLE

@@IO_BUSY

@@PACK_RECEIVED

@@PACK_SENT

@@PACKET_ERRORS

@@TOTAL_READ

@@TOTAL_WRITE

@@TOTAL_ERRORS


 

本例子中将使用这些函数,并创建脚本来获取信息。

 

环境准备:

 

使用SQLServer2008企业版(本机只有企业版)和示例数据库AdventureWorks

 

步骤:

 

1、  打开