DBCC SQLPERF (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

提供所有数据库的事务日志空间使用情况统计信息。 也可以用于重置等待和锁存统计。

Transact-SQL 语法约定

语法

DBCC SQLPERF
(
     [ LOGSPACE ]
     | [ "sys.dm_os_latch_stats" , CLEAR ]
     | [ "sys.dm_os_wait_stats" , CLEAR ]
)
     [ WITH NO_INFOMSGS ]

参数

LOGSPACE

返回事务日志的当前大小和用于每个数据库的日志空间的百分比。 使用此信息来监视事务日志中使用的空间量。

重要

关于从 SQL Server 2012(11.x)开始的事务日志空间使用信息的更多信息,请参见本文的 备注 部分。

“sys.dm_os_latch_stats”,清晰

重置闩锁统计信息。 更多信息请参见 sys.dm_os_latch_stats

“sys.dm_os_wait_stats”,清除

重置等待统计信息。 有关详细信息,请参阅 sys.dm_os_wait_stats

使用 NO_INFOMSGS

取消严重级别从 0 到 10 的所有信息性消息。

结果集

下表对结果集中的列进行了说明。

列名称 定义
数据库名称 数据库名称,为该数据库显示日志统计信息。
日志大小 (MB) 分配给日志的当前大小。 该值始终小于最初为日志空间分配的量,因为数据库引擎会保留一小部分磁盘空间,用以存放内部标头信息。
已用日志空间 (%) 当前用于存储事务日志信息的日志文件的百分比。
Status 日志文件的状态。 始终为 0。

备注

从 SQL Server 2012 (11.x) 开始,使用 sys.dm_db_log_space_usage DMV 而不是 DBCC SQLPERF(LOGSPACE) 来返回每个数据库事务日志的空间使用情况信息。

事务日志记录数据库中执行的每个事务。 欲了解更多信息,请参阅 事务日志SQL Server事务日志架构与管理指南

权限

SQL Server 需要 VIEW SERVER STATE 服务器的权限才能运行 DBCC SQLPERF(LOGSPACE)。 重置等待和闩锁统计信息需要对服务器的 ALTER SERVER STATE 权限。

SQL 数据库高级层和业务关键层需要数据库中的 VIEW DATABASE STATE 权限。 SQL 数据库标准层、基本层和常规用途层需要 SQL 数据库管理员帐户。

示例

A. 显示所有数据库的日志空间信息

下面的示例显示 LOGSPACE 实例中包含的所有数据库的 SQL Server 信息。

DBCC SQLPERF (LOGSPACE);
GO

结果集如下。

Database Name Log Size (MB) Log Space Used (%) Status
------------- ------------- ------------------ -----------
master         3.99219      14.3469            0
tempdb         1.99219      1.64216            0
model          1.0          12.7953            0
msdb           3.99219      17.0132            0
AdventureWorks 19.554688    17.748701          0

B. 重置等待统计信息

以下示例为 SQL Server 实例重置等待统计信息。

DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);