適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft 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 の Basic、S0、S1 サービス対象、および 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;