Aracılığıyla paylaş


sys.dm_db_log_space_usage (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

İşlem günlüğü için alan kullanım bilgilerini döndürür.

Uyarı

Tüm işlem günlüğü dosyaları birleştirilir.

Sütun adı Veri türü Description
database_id smallint Veritabanı Kimliği.

Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir.
total_log_size_in_bytes bigint Günlüğün boyutu
used_log_space_in_bytes bigint Günlüğün kaplanmış boyutu
used_log_space_in_percent gerçek Günlüğün toplam günlük boyutunun yüzdesi olarak kaplanmış boyutu
log_space_in_bytes_since_last_backup bigint Son günlük yedeklemeden bu yana kullanılan alan miktarı
Şunlar için geçerlidir: SQL Server 2014 (12.x) ve sonraki sürümleri ve SQL Veritabanı.

Permissions

SQL Server 2019 (15.x) ve önceki sürümler için izin gerekir VIEW SERVER STATE .

SQL Server 2022 (16.x) ve sonraki sürümleri ve Azure SQL Yönetilen Örneği için izin gerekir VIEW SERVER PERFORMANCE STATE .

SQL Veritabanı Temel, S0 ve S1 hizmet hedeflerinde ve elastik havuzlardaki veritabanları için sunucu yönetici hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerStateReader## üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında izin VIEW DATABASE STATE veya sunucu rolü üyeliği ##MS_ServerStateReader## gereklidir.

Örnekler

A. tempdb'de boş günlük alanı miktarını belirleme

Aşağıdaki sorgu, içinde kullanılabilen tempdbmegabayt (MB) cinsinden toplam boş günlük alanını döndürür.

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;