您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_dbcc_summaryreport

语法


sp_dbcc_summaryreport [dbname[, date[, op_name[,<display_recommendations>]]]]

参数

<dbname>

指定数据库的名称,就是要为该数据库生成报告。如果没有指定 <dbname>,sp_dbcc_summaryreport 将为 dbccdb..dbcc_operation_log 中的所有数据库生成报告,操作执行的日期应为 <date> 选项指定的日期和时间或是此前的日期和时间。

指定执行 dbcc checkstorage 的日期。如果没有指定日期,sp_dbcc_summaryreport 将使用对目标数据库执行的最近一次 dbcc checkstorage 操作的日期。此参数的数据类型为 datetime。如果对 <date> 同时指定了日期和时间,则报告在指定时间或此前执行的所有操作的摘要结果。如果未指定日期,则报告所有操作。

<opname>

指定操作。<opname> 可为 checkstorage(缺省值)或 checkverify,或者同时为这两个值。如果未指定 <opname>,则对所有操作都生成报告。

<display_recommendations>

报告由 sp_dbcc_recommendations 生成的建议

示例

示例 1

生成 sybsystemprocs 数据库的摘要报告,提供有关执行的所有 dbcc checkstorage 和 操作(dbcc checkverify)的信息


sp_dbcc_summaryreport

示例 2

生成 testdb 用户数据库的摘要报告,提供有关所有 DBCC 操作的信息:checkstorage Database Name Start time End Time Operation ID Hard Faults Soft Faults Text Columns Abort Count User Name ------------------ -------------------- ----------- ------------ ----------- ----------- ------------ ----------- ------------------ sybsystemprocs 05/11/1999 14:53:11 14:53:32:163 1 0 0 0 0 sa sybsystemprocs 05/11/1999 14:55:06 14:55:29:200 2 0 0 0 0 sa sybsystemprocs 05/11/1999 14:56:10 14:56:27:750 3 0 0 0 0 sa DBCC 操作:checkverify Database Name Start time End Time Operation ID Hard Faults Soft Faults User Name ------------------ -------------------- ----------- ------------ -------------- --------------- --------------------- sybsystemprocs 05/11/1999 14:55:29 14:55:29:310 2 0 0 sadbcc checkstorage 操作已执行。dbcc checkstorage 是对此数据库执行的唯一操作,所以报告中不显示 dbcc checkverify 的信息:


sp_dbcc_summaryreport "testdb"

DBCC Operation : checkstorage

Database Name   Start time           End Time    Operation ID
    Hard Faults Soft Faults Text Columns Abort Count  User Name
--------------- -------------------- ------------ ------------
    ----------- ----------- ------------ -----------  ----------------
testdb         05/11/1999 14:55:29  14:55:49:903  1
     0           0            0           0           sa
testdb         05/11/1999 14:55:50  14:56:9:546   2
     0           0            0           0           sa
 testdb         05/11/1999 14:56:28  14:56:40:666  3
     0           0            0           0           sa

示例 3

生成 sybsystemprocs 数据库的摘要报告,提供有关执行的所有 dbcc checkverify 操作的信息。由于 dbcc checkverify 是指定的操作,所以报告中不显示 dbcc checkstorage 的信息:


1> sp_dbcc_summaryreport null, null, "checkverify"
2> go

dbccDBCC Operation : checkverify

 Database Name  Start time            End Time      Operation ID  Run Srl     Table Name   Table Id    Hard Faults   Soft Faults  User Name
 -------------- -------------------- ------------- ------------ -------
    ------------ ----------- -----------    ------------ ----------------  testdb         08/31/2004 11:06:11  11:6:11:370             3         1
    NULL          NULL                  0            0  sa

(1 row affected)

示例 4

生成 sybsystemprocs DBCC 操作(checkstorage 数据库)的摘要报告,提供有关执行的所有 dbcc checkstorage 操作的信息。由于 dbcc checkstorage 是指定的操作,所以报告中不显示 dbcc checkverify 的信息:


sp_dbcc_summaryreport sybsystemprocs, null, "checkstorage"

DBCC Operation : checkstorage

Database Name   Start time           End Time    Operation ID
    Hard Faults Soft Faults Text Columns Abort Count  User Name
--------------- -------------------- ------------ ------------
    ----------- ----------- ------------ -----------  ---------
sybsystemprocs   05/11/1999 14:53:11  14:53:32:163  1
    0           0            0           0            sa
sybsystemprocs   05/11/1999 14:55:06  14:55:29:200  2
    0           0            0           0            sa
sybsystemprocs   05/11/1999 14:56:10  14:56:27:750  3
    0           0            0           0            sa

示例 5

向数据库 my_db 的摘要报告添加建议的修复:


sp_dbcc_summaryreport @dbname = my_db, @display_recommendations = 1

用法

使用 sp_dbcc_summaryreport 时,还存在一些其它注意事项:

  • sp_dbcc_summaryreport 针对指定数据库生成 checkstorage 和/或 checkverify 操作的摘要报告。

  • 报告将指明接受检查的数据库的名称、dbcc checkstorage 运行的开始和结束时间,以及找到的软硬故障数。

  • “Operation ID”列包含编号,用于标识在特定时间对给定数据库执行的各个 dbcc checkstorage 操作的结果。报告中提供的编号来自 dbcc_operation_log 表的 opid 列。有关详细信息,请参见《系统管理指南》。

  • “Text Columns”列显示 dbcc checkstorage 在运行期间找到的非空文本列的数目。

  • “Abort Count”列显示包含错误的表数,这些错误导致 dbcc checkstorage 中止对表的检查。有关错误的详细信息,请运行 sp_dbcc_faultreport。