Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) SP2 ve sonraki sürümler
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
sys.dm_db_log_stats Dinamik yönetim işlevi, veritabanlarının işlem günlüğü dosyalarıyla ilgili özet düzeyi öznitelikleri ve bilgileri döndürür. Bu bilgiyi işlem günlüğünün sağlığının izlenmesi ve tanılaması için kullanın.
Transact-SQL söz dizimi kuralları
Sözdizimi
sys.dm_db_log_stats ( database_id )
Arguments
{ database_id | NULL | DEFAULT }
Veritabanının kimliği.
database_idint. Geçerli girişler, NULLDEFAULTbir veritabanının veya kimlik numarasıdır. Varsayılan değer şudur: NULL.
NULL ve DEFAULT mevcut veritabanı bağlamında eşdeğer değerlerdir.
ayrıca database_id için yerleşik işlev DB_ID belirtebilirsiniz.
Döndürülen tablolar
| Sütun adı | Veri türü | Description |
|---|---|---|
database_id |
int | 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. |
recovery_model |
nvarchar(60) | Veritabanının kurtarma modeli. Olası değerler şunlardır:SIMPLEBULK_LOGGEDFULL |
log_min_lsn
1 |
nvarchar(24) | İşlem günlüğündeki geçerli başlangıç günlüğü sıra numarası (LSN). |
log_end_lsn
1 |
nvarchar(24) | işlem günlüğündeki son günlük kaydının günlük dizisi numarası (LSN). |
current_vlf_sequence_number
2 |
bigint | Yürütme sırasında geçerli sanal günlük dosyası (VLF) sıra numarası. |
current_vlf_size_mb
2 |
float | MB cinsinden geçerli sanal günlük dosyası (VLF) boyutu. |
total_vlf_count
2 |
bigint | İşlem günlüğündeki toplam sanal günlük dosyası (VLFs) sayısı. |
total_log_size_mb |
float | Toplam işlem logu boyutu MB cinsinden. |
active_vlf_count
2 |
bigint | İşlem günlüğündeki etkin sanal günlük dosyalarının (VLFs) toplam sayısı. |
active_log_size_mb |
float | Toplam aktif işlem logu boyutu MB cinsinden. |
log_truncation_holdup_reason |
nvarchar(60) | Log kesintisi gecikme nedeni. Değer log_reuse_wait_desc , 'nin sys.databasessütunuyla aynıdır. (Bu değerlerin daha ayrıntılı açıklamaları için bkz. İşlem günlüğü).Olası değerler şunlardır: NOTHINGCHECKPOINTLOG_BACKUPACTIVE_BACKUP_OR_RESTOREACTIVE_TRANSACTIONDATABASE_MIRRORINGREPLICATIONDATABASE_SNAPSHOT_CREATIONLOG_SCANAVAILABILITY_REPLICAOLDEST_PAGEXTP_CHECKPOINTOTHER TRANSIENT |
log_backup_time |
datetime | Son işlem günlüğü yedekleme başlangıç zamanı. |
log_backup_lsn
1 |
nvarchar(24) | Son işlem günlüğü yedekleme günlüğü sıra numarası (LSN). |
log_since_last_log_backup_mb
1 |
float | Son işlem günlüğü yedekleme günlük sırası numarasından (LSN) bu yana MB cinsinden günlük boyutu. |
log_checkpoint_lsn
1 |
nvarchar(24) | Son denetim noktası günlük sırası numarası (LSN). |
log_since_last_checkpoint_mb
1 |
float | Son denetim noktası günlük sırası numarasından (LSN) bu yana MB cinsinden günlük boyutu. |
log_recovery_lsn
1 |
nvarchar(24) | Veritabanının kurtarma günlüğü sıra numarası (LSN). Eğer log_recovery_lsn kontrol noktasından önce gerçekleşirse LSN, log_recovery_lsn en eski aktif işlem LSN'dir, aksi takdirde log_recovery_lsn kontrol noktası LSN'dir. |
log_recovery_size_mb
1 |
float | Günlük kurtarma günlük sırası numarasından (LSN) bu yana MB cinsinden günlük boyutu. |
recovery_vlf_count
2 |
bigint | Yük devretme veya sunucunun yeniden başlatılması durumunda kurtarılacak toplam sanal günlük dosyası (VLFs) sayısı. |
1 Daha fazla bilgi için bkz. günlük sırası numarası (LSN).
2 Daha fazla bilgi için bkz. sanal günlük dosyası (VLF).
Açıklamalar
Bir kullanılabilirlik grubuna ikincil çoğaltma olarak katılan bir veritabanında çalıştırdığınızda sys.dm_db_log_stats , sorgu önceki tabloda açıklanan alanların yalnızca bir alt kümesini döndürür. Şu anda sorgu yalnızca database_id, recovery_modelve log_backup_time ikincil bir veritabanında çalıştırıldığında döndürür.
Permissions
SQL Server 2019 (15.x) ve önceki sürümler sunucuda izin gerektirir VIEW SERVER STATE .
SQL Server 2022 (16.x) ve sonraki sürümleri sunucuda izin gerektirir VIEW SERVER PERFORMANCE STATE .
Örnekler
A. Yüksek sayıda VLIF içeren bir SQL Server örneğindeki veritabanlarını belirleme
Aşağıdaki sorgu, log dosyalarında 100'den fazla VLF bulunan veritabanlarını döndürür. Çok sayıda VLF veritabanı başlatma, geri yükleme ve kurtarma süresini etkileyebilir.
SELECT name AS 'Database Name',
total_vlf_count AS 'VLF count'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id)
WHERE total_vlf_count > 100;
B. 4 saatten eski işlem günlüğü yedeklemeleriyle SQL Server örneğindeki veritabanlarını belirleme
Aşağıdaki sorgu, örnekteki veritabanları için son günlük yedekleme başlangıç zamanlarını belirler.
SELECT name AS 'Database Name',
log_backup_time AS 'last log backup start time'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id);