次の方法で共有


sys.dm_db_log_space_usage (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL データベース

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

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 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 Managed Instance には、 VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

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