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 ]

注意

若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

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 权限才能运行 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);

请参阅