DBCC SQLPERF (Transact-SQL)
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例
提供所有数据库的事务日志空间使用情况统计信息。 在 SQL Server 中还可用于重置等待和闩锁统计信息。
适用于:SQL Server 2008 (10.0.x) 及更高版本、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);