适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 中的 SQL 数据库
返回事务日志的空间使用情况信息。
注释
所有事务日志文件都合并在一起。
| 列名称 | 数据类型 | 说明 |
|---|---|---|
database_id |
smallint | 数据库 ID。 在 Azure SQL 数据库中,这些值在单一数据库或弹性池中是唯一的,但在逻辑服务器中不是唯一的。 |
total_log_size_in_bytes |
bigint | 日志的大小 |
used_log_space_in_bytes |
bigint | 日志的占用大小 |
used_log_space_in_percent |
real | 日志的占用大小占日志总大小的百分比 |
log_space_in_bytes_since_last_backup |
bigint | 自上次日志备份以来使用的空间量 适用于: SQL Server 2014 (12.x) 及更高版本以及 SQL 数据库。 |
Permissions
SQL Server 2019 (15.x) 和早期版本需要 VIEW SERVER STATE 权限。
SQL Server 2022 (16.x) 及更高版本,Azure SQL 托管实例需要 VIEW SERVER PERFORMANCE STATE 权限。
在 SQL 数据库 基本、S0和 S1 服务目标上,对于 弹性池、服务器管理员 帐户、Microsoft entra 管理员 帐户或 ##MS_ServerStateReader##服务器角色 的成员身份。 在所有其他 SQL 数据库服务目标上,需要对数据库具有 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色的成员身份。
Examples
A. 确定 tempdb 中的可用日志空间量
以下查询返回 tempdb 中可用日志总空间(以兆字节 (MB) 为单位)。
USE tempdb;
GO
SELECT (total_log_size_in_bytes - used_log_space_in_bytes) * 1.0 / 1024 / 1024 AS [free log space in MB]
FROM sys.dm_db_log_space_usage;