適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
傳回交易記錄的空間使用量資訊。
注意
所有交易記錄檔都會合併。
| 資料行名稱 | 資料類型 | 描述 |
|---|---|---|
database_id |
smallint | 資料庫識別碼。 在 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 Database。 |
權限
SQL Server 2019 (15.x) 和更早版本需要 VIEW SERVER STATE 許可權。
SQL Server 2022 (16.x) 和更新版本,以及 Azure SQL 受控執行個體需要 VIEW SERVER PERFORMANCE STATE 許可權。
在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。
範例
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;