共用方式為


sys.dm_db_log_space_usage (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft 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;