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

sp_dbcc_statisticsreport

语法


sp_dbcc_statisticsreport [<dbname> [, <objectname> [, <date>]]]

参数

<dbname>

指定目标数据库。如果未指定 <dbname>,报告将包含 dbccdb..dbcc_operation_log 中所有数据库的相关信息。

<objectname>

指定要为其生成报告的表或索引的名称。如果没有指定 <objectname>,SAP ASE 服务器将报告有关目标数据库中的所有对象的统计信息。

<date>

指定执行 dbcc checkstorage 操作的日期。如果没有指定 <date>,则 SAP ASE 服务器使用最近操作的日期。

示例

示例 1

针对 sybsystemprocs 数据库中的 sysobjects 表生成统计信息报告:


sp_dbcc_statisticsreport 'sybsystemprocs',
    'sysobjects'

Statistics Report on object sysobjects in database
sybsystemprocs

 Parameter Name            Index Id Value        
 ------------------------- -------- ------------ 
 count                     0        241.0        
 max size                  0        99.0         
 max count                 0        22.0         
 bytes data                0        19180.0      
 bytes used                0        22113.0      
 count                     1        14.0         
 max size                  1        9.0          
 max level                 1        0.0          
 max count                 1        14.0         
 bytes data                1        56.0         
 bytes used                1        158.0        
 count                     2        245.0        
 max level                 2        1.0          
 max size                  2        39.0         
 max count                 2        71.0         
 bytes data                2        4377.0       
 bytes used                2        6995.0       
 
Parameter Name  Index Id  Partition  Value   Dev_name
 ---------------  --------  ---------  ------  -------------
 page gaps               0          1    13.0  master
 pages used              0          1    15.0  master
 extents used            0          1     3.0  master
 overflow pages          0          1     0.0  master
 pages overhead          0          1     1.0  master
 pages reserved          0          1     7.0  master
 page extent gaps        0          1    11.0  master
 ws buffer crosses       0          1     2.0  master
 page extent crosses     0          1    11.0  master
 pages used              1          1     2.0  master
 extents used            1          1     1.0  master
 overflow pages          1          1     0.0  master
 pages overhead          1          1     1.0  master
 pages reserved          1          1     6.0  master
 page extent gaps        1          1     0.0  master
 ws buffer crosses       1          1     0.0  master
 page extent crosses     1          1     0.0  master
 page gaps               2          1     4.0  master
 pages used              2          1     6.0  master
 extents used            2          1     1.0  master
 overflow pages          2          1     0.0  master
 pages overhead          2          1     1.0  master
 pages reserved          2          1     2.0  master
 page extent gaps        2          1     0.0  master
 ws buffer crosses       2          1     0.0  master
 page extent crosses      2         1     0.0  master

用法

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

  • sp_dbcc_statisticsreport 针对目标数据库中的指定对象生成分配统计信息报告。它使用 dbcc_counters 表中的数据,该表存储有关目标数据库中每个对象的页利用率和错误统计信息的信息。

  • 如果 sp_dbcc_statisticsreport 返回的 <object_name> 为数值,则表示完成 dbcc checkstorage 操作后删除了该对象。

  • sp_dbcc_statisticsreport 为数据类型 5000–5024 报告记录在 dbcc_counters 表中的值。

  • 对于 bytes data、bytes used 和 overflow pages,sp_dbcc_statisticsreport 报告为所有分区和设备报告的值的总和。

  • 对于 count、max count、max size 和 max level,sp_dbcc_statisticsreport 报告为所有分区和设备报告的最大值。

  • sp_dbcc_statisticsreport 为目标数据库中的对象使用的每个设备和分区报告以下各行信息:

    - extents used

    - io errors

    - page gaps

    - page extent crosses

    - page extent gaps

    - page format errors

    - pages reserved

    - pages overhead

    - pages misallocated

    - pages not allocated

    - pages not referenced

    - pages used

    page gaps、page extent crosses 和 page extent gaps 表示对象的数据页如何在数据库设备上分配。较大值表示使用较大缓冲区和数据预取时的效率较低。

  • 如果在同一天在目标数据库运行了多个 dbcc checkstorage 操作,sp_dbcc_statisticsreport 将根据在指定时间之前完成的最后一个 dbcc checkstorage 操作的结果生成报告。