sys.dm_db_log_space_usage (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

トランザクション ログの領域使用量情報を返します。

Note

すべてのトランザクション ログ ファイルが結合されます。

列名 データ型 説明
database_id smallint データベース ID。

Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。
total_log_size_in_bytes bigint ログのサイズ
used_log_space_in_bytes bigint ログの占有サイズ
used_log_space_in_percent 実質 ログの占有サイズ (ログの合計サイズに対する割合)
log_space_in_bytes_since_last_backup bigint 前回のログ バックアップ以降に使用された領域の量
適用対象: SQL Server 2014 (12.x) 以降、SQL Database。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、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;  

次のステップ