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
Veritabanlarının işlem kayıtları dosyalarındaki özet düzeyi özellikleri 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 | TEMERRÜT
Veritabanının kimliğidir.
database_id, int'e eşittir. Geçerli girdiler, bir veritabanının kimlik numarası, NULL, veya DEFAULT. Varsayılan değer: NULL.
NULL ve DEFAULT mevcut veritabanı bağlamında eşdeğer değerlerdir.
Yerleşik işlev DB_ID belirtilebilir. Veritabanı adı belirtilmeden kullanıldığında DB_ID , mevcut veritabanının uyumluluk seviyesi 90 veya daha yüksek olmalıdır.
Tablolar Geri Getirildi
| Sütun adı | Veri türü | Description |
|---|---|---|
| veritabanı_kimlik | 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: BASİT BULK_LOGGED DOLU |
| log_min_lsn | nvarchar(24) | İşlem günlüğündeki mevcut başlangıç logu dizisi numarası (LSN ). |
| log_end_lsn | nvarchar(24) | işlem günlüğündeki son günlük kaydının log dizisi numarası (LSN). |
| current_vlf_sequence_number | bigint | Uygulama anındaki mevcut sanal log dosyası (VLF) sıra numarası. |
| current_vlf_size_mb | float | Mevcut sanal log dosyası (VLF) boyutu MB cinsinden. |
| total_vlf_count | bigint | İşlem günlüğündeki toplam sanal log dosyası (VLF ) sayısı. |
| total_log_size_mb | float | Toplam işlem logu boyutu MB cinsinden. |
| active_vlf_count | bigint | İşlem günlüğündeki toplam aktif sanal günlük dosyaları (VLF ) 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: HİÇ CHECKPOINT LOG_BACKUP ACTIVE_BACKUP_OR_RESTORE ACTIVE_TRANSACTION Veritabanı Yansıtma Replikasyon DATABASE_SNAPSHOT_CREATION LOG_SCAN AVAILABILITY_REPLICA OLDEST_PAGE XTP_CHECKPOINT DİĞER GEÇICI |
| log_backup_time | datetime | Son işlem günlüğünün yedek zamanı. |
| log_backup_lsn | nvarchar(24) | Son işlem günlüğü yedekleme logu dizisi numarası (LSN). |
| log_since_last_log_backup_mb | float | Son işlem günlüğü yedekleme log dizisi numarası (LSN) ile MB cinsinden bu boyut. |
| log_checkpoint_lsn | nvarchar(24) | Son kontrol noktası log dizi numarası (LSN). |
| log_since_last_checkpoint_mb | float | Son kontrol noktası log dizisi numarasından (LSN) itibaren MB cinsinden log boyutu. |
| log_recovery_lsn | nvarchar(24) | Veritabanının kurtarma günlüğü dizisi 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 | float | Log boyutu, günlük kurtarma log dizisi numarasından (LSN) beri MB cinsinden. |
| recovery_vlf_count | bigint | Yedekleme veya sunucu yeniden başlatma durumunda kurtarılacak toplam sanal log dosyası (VLF ) sayısı. |
Açıklamalar
sys.dm_db_log_stats Bir veritabanına ikincil bir kopya olarak katılan bir veritabanına karşı çalışırken, yukarıda açıklanan alanların yalnızca bir alt kümesi geri döner. Şu anda sadece database_id, recovery_model, ve log_backup_time ikincil bir veritabanına karşı çalıştırıldığında geri dönecektir.
Permissions
VIEW SERVER STATE Veritabanında izin gerektirir.
SQL Server 2022 ve üzeri için izinler
Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.
Örnekler
A. Yüksek sayıda VLF içeren SQL Server örneğinde veritabanlarının belirlenmesi
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ğinde veritabanlarının belirlenmesi
Aşağıdaki sorgu, örnekteki veritabanlarının son günlük yedekleme sürelerini belirler.
SELECT name AS 'Database Name', log_backup_time AS 'last log backup time'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id);
Ayrıca Bkz.
Dinamik Yönetim Görünümleri ve İşlevleri (Transact-SQL)
veritabanıyla ilgili dinamik yönetim görünümlerini (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)