Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) SP2 dan versi
yang lebih baru Azure SQL Database
Azure SQL Managed Instance SQL database
SQL di Microsoft Fabric
Fungsi sys.dm_db_log_stats manajemen dinamis mengembalikan atribut tingkat ringkasan dan informasi tentang file log transaksi database. Gunakan informasi ini untuk pemantauan dan diagnostik kesehatan log transaksi.
Sintaks
sys.dm_db_log_stats ( database_id )
Argumen
{ database_id | NULL | DEFAULT }
ID database.
database_idint. Input yang valid adalah nomor ID database, , NULLatau DEFAULT. Nilai defaultnya adalah NULL.
NULL dan DEFAULT merupakan nilai yang setara dalam konteks database saat ini.
Anda juga dapat menentukan DB_ID fungsi bawaan untuk database_id.
Tabel dikembalikan
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
database_id |
int | ID Database. Di Azure SQL Database, nilainya unik dalam satu database atau kumpulan elastis, tetapi tidak dalam server logis. |
recovery_model |
nvarchar(60) | Model pemulihan database. Nilai yang mungkin termasuk:SIMPLEBULK_LOGGEDFULL |
log_min_lsn
1 |
nvarchar(24) | Nomor urutan log awal (LSN) saat ini dalam log transaksi. |
log_end_lsn
1 |
nvarchar(24) | nomor urutan log (LSN) dari catatan log terakhir dalam log transaksi. |
current_vlf_sequence_number
2 |
bigint | Nomor urutan file log virtual (VLF) saat ini pada saat eksekusi. |
current_vlf_size_mb
2 |
float | Ukuran file log virtual (VLF) saat ini dalam MB. |
total_vlf_count
2 |
bigint | Jumlah total file log virtual (VLF) dalam log transaksi. |
total_log_size_mb |
float | Total ukuran log transaksi dalam MB. |
active_vlf_count
2 |
bigint | Jumlah total file log virtual aktif (VLF) dalam log transaksi. |
active_log_size_mb |
float | Total ukuran log transaksi aktif dalam MB. |
log_truncation_holdup_reason |
nvarchar(60) | Alasan penahanan pemotongan log. Nilainya sama dengan log_reuse_wait_desc kolom sys.databases. (Untuk penjelasan lebih rinci tentang nilai-nilai ini, lihat Log transaksi).Nilai yang mungkin termasuk: NOTHINGCHECKPOINTLOG_BACKUPACTIVE_BACKUP_OR_RESTOREACTIVE_TRANSACTIONDATABASE_MIRRORINGREPLICATIONDATABASE_SNAPSHOT_CREATIONLOG_SCANAVAILABILITY_REPLICAOLDEST_PAGEXTP_CHECKPOINTOTHER TRANSIENT |
log_backup_time |
datetime | Waktu mulai pencadangan log transaksi terakhir. |
log_backup_lsn
1 |
nvarchar(24) | Nomor urutan log cadangan log transaksi terakhir (LSN). |
log_since_last_log_backup_mb
1 |
float | Ukuran log dalam MB sejak nomor urutan log cadangan log transaksi terakhir (LSN). |
log_checkpoint_lsn
1 |
nvarchar(24) | Nomor urutan log titik pemeriksaan terakhir (LSN). |
log_since_last_checkpoint_mb
1 |
float | Ukuran log dalam MB sejak nomor urutan log titik pemeriksaan terakhir (LSN). |
log_recovery_lsn
1 |
nvarchar(24) | Nomor urutan log pemulihan (LSN) database. Jika log_recovery_lsn terjadi sebelum LSN titik pemeriksaan, log_recovery_lsn adalah LSN transaksi aktif terlama, jika tidak log_recovery_lsn , adalah LSN titik pemeriksaan. |
log_recovery_size_mb
1 |
float | Ukuran log dalam MB sejak nomor urutan log pemulihan log (LSN). |
recovery_vlf_count
2 |
bigint | Jumlah total file log virtual (VLF) yang akan dipulihkan, jika ada failover atau mulai ulang server. |
1 Untuk informasi selengkapnya, lihat nomor urutan log (LSN).
2 Untuk informasi selengkapnya, lihat file log virtual (VLF).
Keterangan
Saat Anda menjalankan sys.dm_db_log_stats database yang berpartisipasi dalam grup ketersediaan sebagai replika sekunder, kueri hanya mengembalikan subset bidang yang dijelaskan dalam tabel sebelumnya. Saat ini, kueri hanya database_idmengembalikan , recovery_model, dan log_backup_time saat dijalankan terhadap database sekunder.
Izin
SQL Server 2019 (15.x) dan versi yang lebih lama memerlukan VIEW SERVER STATE izin di server.
SQL Server 2022 (16.x) dan versi yang lebih baru memerlukan VIEW SERVER PERFORMANCE STATE izin di server.
Contoh
J. Menentukan database dalam instans SQL Server dengan jumlah VLF yang tinggi
Kueri berikut mengembalikan database dengan lebih dari 100 VLF dalam file log. Sejumlah besar VLF dapat memengaruhi waktu mulai, pemulihan, dan pemulihan database.
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. Menentukan database dalam instans SQL Server dengan cadangan log transaksi yang lebih lama dari 4 jam
Kueri berikut menentukan waktu mulai pencadangan log terakhir untuk database dalam instans.
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);