sys.dm_db_log_space_usage (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure 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 和 SQL 受控執行個體上,需要 VIEW SERVER STATE 權限。

在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。

範例

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;  

下一步