backupset (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Berisi baris untuk setiap set cadangan. Kumpulan cadangan berisi cadangan dari satu operasi pencadangan yang berhasil. PERNYATAAN RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, dan RESTORE VERIFYONLY beroperasi pada satu set cadangan dalam set media pada perangkat atau perangkat cadangan yang ditentukan.

Tabel ini disimpan dalam msdb database.

Nama kolom Jenis data Deskripsi
backup_set_id int Nomor identifikasi kumpulan cadangan unik yang mengidentifikasi kumpulan cadangan. Identitas, kunci primer.
backup_set_uuid pengidentifikasi unik Nomor identifikasi kumpulan cadangan unik yang mengidentifikasi kumpulan cadangan.
media_set_id int Nomor identifikasi set media unik yang mengidentifikasi kumpulan media yang berisi kumpulan cadangan. Mereferensikan backupmediaset(media_set_id).
first_family_number kecil Nomor keluarga media tempat set cadangan dimulai. Bisa NULL.
first_media_number smallint Nomor media media tempat set cadangan dimulai. Bisa NULL.
last_family_number kecil Nomor keluarga media tempat set cadangan berakhir. Bisa NULL.
last_media_number smallint Nomor media media tempat set cadangan berakhir. Bisa NULL.
catalog_family_number kecil Nomor keluarga media yang berisi awal direktori kumpulan cadangan. Bisa NULL.
catalog_media_number smallint Nomor media media yang berisi awal direktori set cadangan. Bisa NULL.
Posisi int Posisi set cadangan yang digunakan dalam operasi pemulihan untuk menemukan kumpulan cadangan dan file yang sesuai. Bisa NULL. Untuk informasi selengkapnya, lihat FILE di BACKUP (Transact-SQL).
expiration_date datetime Tanggal dan waktu set cadangan kedaluwarsa. Bisa NULL.
software_vendor_id int Nomor identifikasi vendor perangkat lunak yang menulis header media cadangan. Bisa NULL.
nama nvarchar(128) Nama kumpulan cadangan. Bisa NULL.
description nvarchar(255) Deskripsi kumpulan cadangan. Bisa NULL.
user_name nvarchar(128) Nama pengguna yang melakukan operasi pencadangan. Bisa NULL.
software_major_version kecil Nomor versi utama Microsoft SQL Server. Bisa NULL.
software_minor_version kecil Nomor versi minor SQL Server. Bisa NULL.
software_build_version smallint Nomor build SQL Server. Bisa NULL.
time_zone smallint Perbedaan antara waktu lokal (tempat operasi pencadangan berlangsung) dan Waktu Universal Terkoordinasi (UTC) dalam interval 15 menit menggunakan informasi zona waktu pada saat operasi pencadangan dimulai. Nilai bisa -48 hingga +48, inklusif. Nilai 127 menunjukkan tidak diketahui. Misalnya, -20 adalah Waktu Standar Timur (EST) atau lima jam setelah UTC. Bisa NULL.
mtf_minor_version kecil Microsoft Tape Format nomor versi minor. Bisa NULL.
first_lsn numerik(25,0) Nomor urutan log dari catatan log pertama atau terlama dalam kumpulan cadangan. Bisa NULL.
last_lsn numerik(25,0) Nomor urutan log catatan berikutnya setelah kumpulan cadangan. Bisa NULL.
checkpoint_lsn numerik(25,0) Nomor urutan log dari rekaman log tempat pengulangan harus dimulai. Bisa NULL.
database_backup_lsn numerik(25,0) Nomor urutan log dari cadangan database lengkap terbaru. Bisa NULL.

database_backup_lsn adalah "awal titik pemeriksaan" yang dipicu saat pencadangan dimulai. LSN ini akan bertepatan dengan first_lsn jika cadangan diambil saat database diam dan tidak ada replikasi yang dikonfigurasi.
database_creation_date datetime Tanggal dan waktu database awalnya dibuat. Bisa NULL.
backup_start_date datetime Tanggal dan waktu operasi pencadangan dimulai. Bisa NULL.
backup_finish_date datetime Tanggal dan waktu operasi pencadangan selesai. Bisa NULL.
jenis karakter(1) Jenis cadangan. Dapat berupa:

D = Database
I = Database diferensial
L = Log
F = File atau grup file
G =File diferensial
P = Parsial
T = Parsial diferensial

Bisa NULL.
sort_order smallint Urutkan urutan server yang melakukan operasi pencadangan. Bisa NULL. Untuk informasi selengkapnya tentang urutan sortir dan kolate, lihat Kolate dan Dukungan Unicode.
code_page smallint Halaman kode server yang melakukan operasi pencadangan. Bisa NULL. Untuk informasi selengkapnya tentang halaman kode, lihat Kolate dan Dukungan Unicode.
compatibility_level kecil Pengaturan tingkat kompatibilitas untuk database. Dapat berupa:

90 = SQL Server 2005 (9.x)
100 = SQL Server 2008 (10.0.x)
110 = SQL Server 2012 (11.x)
120 = SQL Server 2014 (12.x)
130 = SQL Server 2016 (13.x)
140 = SQL Server 2017 (14.x)
150 = SQL Server 2019 (15.x)
160 = SQL Server 2022 (16.x)

Bisa NULL.

Untuk informasi selengkapnya tentang tingkat kompatibilitas, lihat MENGUBAH Tingkat Kompatibilitas DATABASE (Transact-SQL).
database_version int Nomor versi database. Bisa NULL.
backup_size numerik(20,0) Ukuran kumpulan cadangan, dalam byte. Bisa NULL. Untuk pencadangan VSS, backup_size adalah nilai perkiraan.
database_name nvarchar(128) Nama database yang terlibat dalam operasi pencadangan. Bisa NULL.
server_name nvarchar(128) Nama server yang menjalankan operasi pencadangan SQL Server. Bisa NULL.
machine_name nvarchar(128) Nama komputer yang menjalankan SQL Server. Bisa NULL.
flags int Di SQL Server, kolom bendera tidak digunakan lagi dan diganti dengan kolom bit berikut:

has_bulk_logged_data
is_snapshot
is_readonly
is_single_user
has_backup_checksums
is_damaged
begins_log_chain
has_incomplete_metadata
is_force_offline
is_copy_only

Bisa NULL.

Dalam kumpulan cadangan dari versi SQL Server yang lebih lama, bendera bit:
1 = Cadangan berisi data yang dicatat minimal.
2 = DENGAN SNAPSHOT digunakan.
4 = Database bersifat baca-saja pada saat pencadangan.
8 = Database berada dalam mode pengguna tunggal pada saat pencadangan.
unicode_locale int Lokal Unicode. Bisa NULL.
unicode_compare_style int Unicode membandingkan gaya. Bisa NULL.
collation_name nvarchar(128) Nama kolas. Bisa NULL.
Is_password_protected bit Apakah kumpulan cadangan

terlindungi kata sandi:

0 = Tidak dilindungi

1 = Dilindungi
recovery_model nvarchar(60) Model pemulihan untuk database:

FULL

DICATAT MASSAL

SEDERHANA
has_bulk_logged_data bit 1 = Cadangan berisi data yang dicatat secara massal.
is_snapshot bit 1 = Pencadangan diambil menggunakan opsi SNAPSHOT.
is_readonly bit 1 = Database bersifat baca-saja pada saat pencadangan.
is_single_user bit 1 = Database adalah pengguna tunggal pada saat pencadangan.
has_backup_checksums bit 1 = Cadangan berisi checksum cadangan.
is_damaged bit 1 = Kerusakan pada database terdeteksi ketika cadangan ini dibuat. Operasi pencadangan diminta untuk melanjutkan meskipun ada kesalahan.
begins_log_chain bit 1 = Ini adalah yang pertama dalam rantai cadangan log berkelanjutan. Rantai log dimulai dengan cadangan log pertama yang diambil setelah database dibuat atau ketika dialihkan dari model pemulihan yang sederhana ke penuh atau dicatat secara massal.
has_incomplete_metadata bit 1 = Cadangan log ekor dengan metadata yang tidak lengkap. Untuk informasi selengkapnya, lihat Tail-Log Backups (SQL Server).
is_force_offline bit 1 = Database diambil secara offline menggunakan opsi NORECOVERY saat cadangan diambil.
is_copy_only bit 1 = Cadangan khusus salinan. Untuk informasi selengkapnya, lihat Pencadangan Khusus Salin (SQL Server).
first_recovery_fork_guid pengidentifikasi unik ID fork pemulihan awal. Ini sesuai dengan FirstRecoveryForkID dari RESTORE HEADERONLY.

Untuk pencadangan data, first_recovery_fork_guid sama dengan last_recovery_fork_guid.
last_recovery_fork_guid pengidentifikasi unik ID fork pemulihan akhir. Ini sesuai dengan RecoveryForkID dari RESTORE HEADERONLY.

Untuk pencadangan data, first_recovery_fork_guid sama dengan last_recovery_fork_guid.
fork_point_lsn numerik(25,0) Jika first_recovery_fork_guid tidak sama dengan last_recovery_fork_guid, ini adalah nomor urutan log titik fork. Jika tidak, nilainya adalah NULL.
database_guid pengidentifikasi unik ID unik untuk database. Ini sesuai dengan BindingID dari RESTORE HEADERONLY. Saat database dipulihkan, nilai baru ditetapkan.
family_guid pengidentifikasi unik ID unik database asli saat pembuatan. Nilai ini tetap sama ketika database dipulihkan, bahkan ke nama yang berbeda.
differential_base_lsn numerik(25,0) Base LSN untuk pencadangan diferensial. Untuk cadangan diferensial berbasis tunggal; perubahan dengan LSN yang lebih besar dari atau sama dengan differential_base_lsn disertakan dalam cadangan diferensial.

Untuk diferensial multibased, nilainya adalah NULL, dan LSN dasar harus ditentukan pada tingkat file (lihat backupfile (Transact-SQL)).

Untuk jenis cadangan nondifferential, nilainya selalu NULL.
differential_base_guid pengidentifikasi unik Untuk cadangan diferensial berbasis tunggal, nilainya adalah pengidentifikasi unik dari basis diferensial.

Untuk diferensial multibased, nilainya adalah NULL, dan basis diferensial harus ditentukan pada tingkat file.

Untuk jenis cadangan nondifferential, nilainya adalah NULL.
compressed_backup_size Numerik(20,0) Jumlah Byte total cadangan yang disimpan pada disk.

Untuk menghitung rasio kompresi, gunakan compressed_backup_size dan backup_size.

msdb Selama peningkatan, nilai ini diatur ke NULL. yang menunjukkan cadangan yang tidak dikompresi.
key_algorithm nvarchar(32) Algoritma enkripsi yang digunakan untuk mengenkripsi cadangan. NO_Encryption menunjukkan bahwa cadangan tidak dienkripsi.
encryptor_thumbprint varbinary(20) Thumbprint enkripsi yang dapat digunakan untuk menemukan sertifikat atau kunci asimetris dalam database. Dalam kasus di mana cadangan tidak dienkripsi, nilai ini adalah NULL.
encryptor_type nvarchar(32) Jenis enkripsi yang digunakan: Sertifikat atau Kunci Asimetris. Dalam kasus di mana cadangan tidak dienkripsi, nilai ini adalah NULL.
last_valid_restore_time datetime Tanda waktu catatan log transaksi terakhir yang disertakan dalam cadangan log transaksi, untuk catatan log yang membawa tanda waktu. Membantu dalam membuat rencana pemulihan dengan membantu Anda menemukan cadangan log terakhir untuk dipulihkan ketika STOPAT klausul ditentukan dalam RESTORE LOG pernyataan. Cadangan log tersebut memiliki last_valid_restore_time lebih besar dari waktu yang ditentukan dalam STOPAT klausa. Diperkenalkan di SQL Server 2022 (16.x).
compression_algorithm nvarchar(32) Algoritma kompresi yang digunakan saat membuat cadangan SQL Server. Diperkenalkan di SQL Server 2022 (16.x). Defaultnya adalah MS_XPRESS. Untuk informasi selengkapnya, lihat KOMPRESI CADANGAN dan Akselerasi dan offloading terintegrasi.

Keterangan

  • RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY mengisi kolom backupmediaset tabel dengan nilai yang sesuai dari header set media.
  • Untuk mengurangi jumlah baris dalam tabel ini dan dalam tabel pencadangan dan riwayat lainnya, jalankan prosedur tersimpan sp_delete_backuphistory .
  • Untuk SQL Managed Instance, lihat transparansi cadangan dan cara memantau cadangan.

Contoh

Riwayat pencadangan kueri

Kueri berikut mengembalikan informasi cadangan yang berhasil dari dua bulan terakhir.

SELECT bs.database_name,
    backuptype = CASE 
        WHEN bs.type = 'D' AND bs.is_copy_only = 0 THEN 'Full Database'
        WHEN bs.type = 'D' AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
        WHEN bs.type = 'I' THEN 'Differential database backup'
        WHEN bs.type = 'L' THEN 'Transaction Log'
        WHEN bs.type = 'F' THEN 'File or filegroup'
        WHEN bs.type = 'G' THEN 'Differential file'
        WHEN bs.type = 'P' THEN 'Partial'
        WHEN bs.type = 'Q' THEN 'Differential partial'
        END + ' Backup',
    CASE bf.device_type
        WHEN 2 THEN 'Disk'
        WHEN 5 THEN 'Tape'
        WHEN 7 THEN 'Virtual device'
        WHEN 9 THEN 'Azure Storage'
        WHEN 105 THEN 'A permanent backup device'
        ELSE 'Other Device'
        END AS DeviceType,
    bms.software_name AS backup_software,
    bs.recovery_model,
    bs.compatibility_level,
    BackupStartDate = bs.Backup_Start_Date,
    BackupFinishDate = bs.Backup_Finish_Date,
    LatestBackupLocation = bf.physical_device_name,
    backup_size_mb = CONVERT(DECIMAL(10, 2), bs.backup_size / 1024. / 1024.),
    compressed_backup_size_mb = CONVERT(DECIMAL(10, 2), bs.compressed_backup_size / 1024. / 1024.),
    database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
    checkpoint_lsn,
    begins_log_chain,
    bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT JOIN msdb.dbo.backupmediafamily bf
    ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms
    ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, - 2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC,
    bs.Backup_Start_Date DESC;

Langkah berikutnya