活动监视器

使用活动监视器可以获取有关 SQL Server 进程的信息,并了解这些进程如何影响当前 SQL Server 实例。

活动监视器是一个选项卡式文档窗口,它包含以下可展开和可折叠窗格:“概述”“活动用户任务”“资源等待”“数据文件 I/O”“最近耗费大量资源的查询”。展开任何窗格时,活动监视器都将查询实例以获取相关信息。折叠窗格时,该窗格的所有查询活动都将停止。还可以同时展开一个或多个窗格,以查看实例上不同种类的活动。

对于在**“活动用户任务”“资源等待”“数据文件 I/O”“最近耗费大量资源的查询”**窗格中包括的列,可以用以下方式自定义显示内容:

  • 若要重排列的顺序,请单击列标题,并将其拖到标题功能区中的另一位置。

  • 若要排序列,请单击列名称。

  • 若要对一个或多个列进行筛选,请单击列标题中的下拉箭头,然后选择值。

若要在 SQL Server 2005 和 SQL Server 2008 中查看活动监视器,用户必须拥有 VIEW SERVER STATE 权限。

若要在 SQL Server 2000 服务器上查看活动监视器,用户必须对 master 数据库中的 sysprocesses 和 syslocks 表拥有 SELECT 权限。默认情况下,已为公共数据库角色授予了查看这些表的权限。

若要终止进程,用户必须是 sysadmin 或 processadmin 固定服务器角色的成员。

“概述”窗格

此窗格以图形显示以下实例信息:

  • 处理器时间百分比
    对于所有 CPU 而言,处理器执行实例的非空闲线程所花费的时间的百分比。

  • 等待任务
    正在等待处理器、I/O 或内存资源的任务数。

  • 数据库 I/O
    数据从内存到磁盘、从磁盘到内存或从磁盘到磁盘的传输速率(MB/秒)。

  • 批请求数/秒
    实例所接收的 SQL Server 批数。

除了提供实例信息以外,此窗格还可用于访问活动监视器选项。通过右键单击**“概述”**,可以从以下选项中进行选择:

  • 刷新间隔
    用于设置活动监视器的更新间隔。此选项将配置活动监视器向实例查询新信息的频率。如果将更新间隔设置为小于 10 秒,则用于运行这些查询的时间将会影响服务器性能。

    注意注意

    “最近耗费大量资源的查询”的更新间隔始终为 30 秒。

  • 暂停
    暂停活动监视器。这包括所有活动监视器进程。

  • 继续
    在选择**“暂停”**之后,重新启动活动监视器。这将重新启动所有活动监视器进程。

  • 刷新
    获取下一个更新间隔之前的当前活动监视器信息。

“活动用户任务”窗格

此窗格显示用户与此实例建立的活动连接的信息,包括以下列:

  • 会话 ID
    是建立连接时分配给每个用户连接的唯一整数 (int)。

  • 用户进程
    对于系统进程,显示 0;对于用户进程,显示 1。默认情况下,此列的筛选设置为 1。这将仅显示用户进程。

  • 登录
    当前用于执行会话的 SQL Server 登录名。

  • 数据库
    当前正在运行的进程的连接属性中包括的数据库的名称。

  • 任务状态
    任务的状态。对于处于可运行或休眠状态的任务,任务状态为空白。否则,此列可以为下列值之一:

    • 后台

    • 正在运行

    • 挂起

  • 命令
    正在任务下面处理的命令的种类。

  • 应用程序
    创建连接的应用程序程序的名称。

  • 等待时间(毫秒)
    此任务等待资源所用的时间(毫秒)。如果任务没有等待,则等待时间为 0。

  • 等待类型
    最近或当前等待类型的名称。

  • 等待资源
    所需资源的名称。

  • 阻塞者
    如果有阻塞会话,则为正阻塞任务的会话的 ID。

  • 头阻塞程序
    如果有阻塞会话,则标识导致第一个阻塞条件的会话。值为 1 表示其他会话的头阻塞程序。

  • 内存使用量(KB)
    任务所使用的内存的数量 (KB)。

  • 主机名
    与 SQL Server 实例建立连接的计算机的名称。

  • 工作负荷组
    会话的资源调控器工作负荷组的名称。有关详细信息,请参阅管理 SQL Server 工作负荷和资源

“资源等待”窗格

此窗格显示有关等待资源的信息,包括以下列:

  • 等待类别
    累积等待类型统计信息的类别。各个等待类型均显示在**“活动用户任务”**窗格中。有关详细信息,请参阅 sys.dm_os_wait_stats (Transact-SQL)

  • 等待时间(毫秒/秒)
    自从上次更新间隔以来等待此等待类别中的一个或多个资源的所有任务的等待时间(毫秒/秒)。

  • 最近等待时间(毫秒/秒)
    自从上次更新间隔以来等待此等待类别中的一个或多个资源的所有任务的加权平均等待时间(毫秒/秒)。

  • 等待应用程序的平均计数
    在最近的示例间隔期间的某典型时刻等待此等待类别中的一个或多个资源的任务数。

  • 累计等待时间(秒)
    自从 SQL Server 在实例上上次启动以来,或自从 DBCC SQLPERF 在实例上运行以来,任务等待此等待类别中的一个或多个资源的时间总量(秒)。

“数据文件 I/O”窗格

此窗格显示属于此实例的数据库的数据库文件的相关信息。此窗格包括以下列:

  • 数据库
    数据库的名称。

  • 文件名
    属于数据库的文件的名称。

  • MB/秒(读取速率)
    数据库文件的最近读取活动(MB/秒)。

  • MB/秒(写入速率)
    数据库文件的最近写入活动(MB/秒)。

  • 响应时间(毫秒)
    针对数据库文件的最近读写活动的平均响应时间(毫秒)。

“最近耗费大量资源的查询”窗格

此窗格显示在最近 30 秒内在实例上运行的最耗费资源的查询的相关信息。此信息来自 sys.dm_exec_requests 和 sys.dm_exec_query_stats 的并集,并且包括正在进行的查询以及在此时间段内完成的查询。此窗格包括以下列:

  • 查询
    所监视的查询语句。

  • 执行次数/分钟
    查询每分钟的执行次数。

  • CPU 时间(毫秒/秒)
    查询的 CPU 使用率

  • 物理读取次数/秒
    查询的每秒物理读取速率。

  • 逻辑写入次数/秒
    查询的每秒逻辑写入速率。

  • 逻辑读取次数/秒
    查询的每秒逻辑读取速率。

  • 平均持续时间(毫秒)
    运行此查询的平均持续时间(毫秒)。

  • 计划计数
    此查询的缓存查询计划数。如果数值很大,则表示需要显式查询参数化。有关详细信息,请参阅使用计划指南指定查询参数化行为