sys.dm_db_log_space_usage (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure 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;