DBCC SQLPERF (Transact-SQL)

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

提供所有数据库的事务日志空间使用情况统计信息。 在 SQL Server 中还可用于重置等待和闩锁统计信息。

适用于:SQL Server 2008 (10.0.x) 及更高版本、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", CLEAR

重置闩锁统计信息。 有关详细信息,请参阅 sys.dm_os_latch_stats (Transact-SQL)。 此选项在 SQL 数据库中不可用。

"sys.dm_os_wait_stats", CLEAR

重置等待统计信息。 有关详细信息,请参阅 sys.dm_os_wait_stats (Transact-SQL)。 此选项在 SQL 数据库中不可用。

WITH NO_INFOMSGS

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

结果集

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

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

备注

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

事务日志记录数据库中执行的每个事务。 有关详细信息,请参阅事务日志 (SQL Server)SQL Server 事务日志体系结构和管理指南

权限

SQL Server 需要服务器的 VIEW SERVER STATE 权限才能运行 。 重置等待和闩锁统计信息需要对服务器的 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);

请参阅