Pernyataan RESTORE - HEADERONLY (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Mengembalikan kumpulan hasil yang berisi semua informasi header cadangan untuk semua set cadangan pada perangkat cadangan tertentu di SQL Server.

Catatan

Untuk deskripsi argumen, lihat RESTORE Arguments (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaksis

RESTORE HEADERONLY
FROM <backup_device>
[ WITH
    {
    -- Backup set options
    FILE = { backup_set_file_number | @backup_set_file_number }
    | PASSWORD = { password | @password_variable }
    | [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_variable } ]

    -- Media set options
    | MEDIANAME = { media_name | @media_name_variable }
    | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

    -- Error management options
    | { CHECKSUM | NO_CHECKSUM }
    | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

    -- Tape options
    | { REWIND | NOREWIND }
    | { UNLOAD | NOUNLOAD }
    } [ , ...n ]
]
[ ; ]

<backup_device> ::=
{
   { logical_backup_device_name |
     @logical_backup_device_name_var }
   | { DISK | TAPE | URL } = { 'physical_backup_device_name' |
       @physical_backup_device_name_var }
}

Catatan

URL adalah format yang digunakan untuk menentukan lokasi dan nama file untuk Azure Blob Storage dan didukung dimulai dengan SQL Server 2012 (11.x) SP 1 CU 2. Meskipun penyimpanan Azure adalah layanan, implementasinya mirip dengan disk dan pita, untuk memungkinkan pengalaman pemulihan yang konsisten dan mulus untuk ketiga perangkat tersebut.

Argumen

Untuk deskripsi RESTORE HEADERONLY argumen, lihat RESTORE Arguments (Transact-SQL).

Tataan hasil

Untuk setiap cadangan pada perangkat tertentu, server mengirim baris informasi header dengan kolom berikut:

Nama kolom Jenis Data Deskripsi untuk set cadangan SQL Server
BackupName1 nvarchar(128) Nama kumpulan cadangan.
BackupDescription nvarchar(255) Deskripsi kumpulan cadangan. Bisa NULL.
BackupType smallint Jenis cadangan:

1 = Database
2 = Log transaksi
4 = File
5 = Database diferensial
6 = File diferensial
7 = Parsial
8 = Parsial diferensial
ExpirationDate datetime Tanggal kedaluwarsa untuk kumpulan cadangan.
Compressed bit Apakah set cadangan dikompresi menggunakan kompresi berbasis perangkat lunak:

0 = Tidak
1 = Ya
Position smallint Posisi set cadangan dalam volume (untuk digunakan dengan opsi FILE = ).
DeviceType kecil Nomor yang sesuai dengan perangkat yang digunakan untuk operasi pencadangan.

Disk:

- 2 = Logis
- 102 = Fisik

Tape:

- 5 = Logis
- 105 = Fisik

Perangkat Virtual:

- 7 = Logis
- 107 = Fisik

URL:

- 9 = Logis
- 109 = Fisik

Nama perangkat logis dan nomor perangkat ada di sys.backup_devices. Untuk informasi selengkapnya, lihat sys.backup_devices.
UserName nvarchar(128) Nama pengguna yang melakukan operasi pencadangan.
ServerName nvarchar(128) Nama server yang menulis kumpulan cadangan.
DatabaseName nvarchar(128) Nama database yang dicadangkan.
DatabaseVersion int Versi database tempat cadangan dibuat.
DatabaseCreationDate datetime Tanggal dan waktu database dibuat.
BackupSize numerik(20,0) Ukuran cadangan, dalam byte.
FirstLSN numerik(25,0) Nomor urutan log dari catatan log pertama dalam kumpulan cadangan.
LastLSN numerik(25,0) Nomor urutan log catatan berikutnya setelah kumpulan cadangan.
CheckpointLSN numerik(25,0) Nomor urutan log dari titik pemeriksaan terbaru pada saat cadangan dibuat.
DatabaseBackupLSN numerik(25,0) Nomor urutan log dari cadangan database lengkap terbaru.

DatabaseBackupLSN adalah "awal titik pemeriksaan" yang dipicu ketika pencadangan dimulai. LSN ini bertepatan dengan FirstLSN jika cadangan diambil ketika database diam dan tidak ada replikasi yang dikonfigurasi.
BackupStartDate datetime Tanggal dan waktu operasi pencadangan dimulai.
BackupFinishDate datetime Tanggal dan waktu operasi pencadangan selesai.
SortOrder smallint Urutan pengurutan server. Kolom ini hanya valid untuk pencadangan database. Disediakan untuk kompatibilitas mundur.
CodePage smallint Halaman kode server atau set karakter yang digunakan oleh server.
UnicodeLocaleId int Opsi konfigurasi ID lokal Unicode Server yang digunakan untuk pengurutan data karakter Unicode. Disediakan untuk kompatibilitas mundur.
UnicodeComparisonStyle int Opsi konfigurasi gaya perbandingan Server Unicode, yang menyediakan kontrol tambahan atas pengurutan data Unicode. Disediakan untuk kompatibilitas mundur.
CompatibilityLevel kecil Pengaturan tingkat kompatibilitas database tempat cadangan dibuat.
SoftwareVendorId int Nomor identifikasi vendor perangkat lunak. Untuk SQL Server, angka ini adalah 4608 (atau heksadesimal 0x1200).
SoftwareVersionMajor int Nomor versi utama server yang membuat kumpulan cadangan.
SoftwareVersionMinor int Nomor versi minor server yang membuat kumpulan cadangan.
SoftwareVersionBuild int Nomor build server yang membuat kumpulan cadangan.
MachineName nvarchar(128) Nama komputer yang melakukan operasi pencadangan.
Flags int Arti bit bendera individual:

- 1 = Pencadangan log berisi operasi yang dicatat secara massal.

- 2 = Pencadangan rekam jepret.

- 4 = Database bersifat baca-saja saat dicadangkan.

- 8 = Database berada dalam mode pengguna tunggal saat dicadangkan.

- 16 = Cadangan berisi checksum cadangan.

- 32 = Database rusak ketika dicadangkan, tetapi operasi pencadangan diminta untuk melanjutkan meskipun ada kesalahan.

- 64 = Pencadangan log ekor.

- 128 = Pencadangan log ekor dengan metadata yang tidak lengkap.

- 256 = Pencadangan log ekor dengan NORECOVERY.

Penting: Kami menyarankan agar alih-alih Flags Anda menggunakan kolom Boolean individual (dimulai dengan HasBulkLoggedData dan diakhir dengan IsCopyOnly dalam tabel ini).
BindingID pengidentifikasi unik ID pengikatan untuk database. Nilai ini sesuai dengan database_guid di sys.database_recovery_status. Saat database dipulihkan, nilai baru ditetapkan. FamilyGUIDLihat juga .
RecoveryForkID pengidentifikasi unik ID untuk fork pemulihan akhir. Kolom ini sesuai dengan last_recovery_fork_guid dalam tabel set cadangan.

Untuk pencadangan data, RecoveryForkID sama dengan FirstRecoveryForkID.
Collation nvarchar(128) Kolasasi yang digunakan oleh database.
FamilyGUID pengidentifikasi unik ID database asli saat dibuat. Nilai ini tetap sama ketika database dipulihkan.
HasBulkLoggedData bit 1 = Pencadangan log yang berisi operasi yang dicatat secara massal.
IsSnapshot bit 1 = Pencadangan rekam jepret.
IsReadOnly bit 1 = Database bersifat baca-saja saat dicadangkan.
IsSingleUser bit 1 = Database adalah pengguna tunggal saat dicadangkan.
HasBackupChecksums bit 1 = Cadangan berisi checksum cadangan.
IsDamaged bit 1 = Database rusak ketika dicadangkan, tetapi operasi pencadangan diminta untuk melanjutkan meskipun ada kesalahan.
BeginsLogChain 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 Sederhana ke Penuh atau Dicatat Massal.
HasIncompleteMetaData bit 1 = Cadangan log ekor dengan metadata yang tidak lengkap.

Untuk informasi tentang pencadangan tail-log dengan metadata cadangan yang tidak lengkap, lihat Tail-Log Backups (SQL Server).
IsForceOffline bit 1 = Cadangan yang diambil dengan NORECOVERY; database diambil secara offline oleh cadangan.
IsCopyOnly bit 1 = Cadangan khusus salinan.

Pencadangan khusus salinan tidak memengaruhi prosedur pencadangan dan pemulihan keseluruhan untuk database. Untuk informasi selengkapnya, lihat Pencadangan Khusus Salin (SQL Server).
FirstRecoveryForkID pengidentifikasi unik ID untuk fork pemulihan awal. Kolom ini sesuai dengan first_recovery_fork_guid dalam tabel set cadangan.

Untuk pencadangan data, FirstRecoveryForkID sama dengan RecoveryForkID.
ForkPointLSN numerik(25,0) Jika FirstRecoveryForkID tidak sama dengan RecoveryForkID, nilai ini adalah nomor urutan log dari titik fork. Jika tidak, nilai ini adalah NULL.
RecoveryModel nvarchar(60) Model pemulihan untuk database, salah satu dari:

-PENUH
- DICATAT MASSAL
-SEDERHANA
DifferentialBaseLSN numerik(25,0) Untuk cadangan diferensial berbasis tunggal, nilainya sama dengan FirstLSN basis diferensial. Perubahan dengan LSN yang lebih besar dari atau sama dengan DifferentialBaseLSN disertakan dalam diferensial.

Untuk diferensial berbasis multi, nilainya adalah NULL, dan LSN dasar harus ditentukan pada tingkat file. Untuk informasi selengkapnya, lihat MEMULIHKAN FILELISTONLY.

Untuk jenis cadangan non-diferensial, nilainya selalu NULL.

Untuk informasi selengkapnya, lihat Pencadangan Diferensial (SQL Server).
DifferentialBaseGUID pengidentifikasi unik Untuk cadangan diferensial berbasis tunggal, nilainya adalah pengidentifikasi unik dari basis diferensial.

Untuk diferensial berbasis multi, nilainya adalah NULL, dan basis diferensial harus ditentukan per file.

Untuk jenis cadangan non-diferensial, nilainya adalah NULL.
BackupTypeDescription nvarchar(60) Jenis cadangan sebagai string, salah satu dari:

-DATABASE
- LOG TRANSAKSI
- FILE ATAU GRUP FILE
- DIFERENSIAL DATABASE
- FILE DIFERENSIAL PARSIAL
- DIFERENSIAL PARSIAL
BackupSetGUID pengidentifikasi unik Nomor identifikasi unik dari kumpulan cadangan, yang diidentifikasi di media. Bisa NULL.
CompressedBackupSize bigint Jumlah byte dari kumpulan cadangan. Untuk cadangan yang tidak dikompresi, nilai ini sama BackupSizedengan .

Untuk menghitung rasio kompresi, gunakan CompressedBackupSize dan BackupSize.

msdb Selama peningkatan, nilai ini diatur agar sesuai dengan nilai BackupSize kolom.
containment kecil Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.

Menunjukkan status penahanan database.

0 = penahanan database nonaktif
1 = database berada dalam penahanan parsial
KeyAlgorithm nvarchar(32) Berlaku untuk: SQL Server 2014 (12.x) CU 1 dan versi yang lebih baru.

Algoritma enkripsi yang digunakan untuk mengenkripsi cadangan. NO_Encryption menunjukkan bahwa cadangan tidak dienkripsi. Ketika nilai yang benar tidak dapat ditentukan, nilainya harus NULL.
EncryptorThumbprint varbinary(20) Berlaku untuk: SQL Server 2014 (12.x) CU 1 dan versi yang lebih baru.

Thumbprint enkripsi yang dapat digunakan untuk menemukan sertifikat atau kunci asimetris dalam database. Ketika cadangan tidak dienkripsi, nilai ini adalah NULL.
EncryptorType nvarchar(32) Berlaku untuk: SQL Server 2014 (12.x) CU 1 dan versi yang lebih baru.

Jenis enkripsi yang digunakan: Sertifikat atau Kunci Asimetris. Ketika cadangan tidak dienkripsi, nilai ini adalah NULL.
LastValidRestoreTime datetime Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru.

Waktu pemulihan terakhir yang valid.
TimeZone nvarchar(32) Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru.

Zona waktu server tempat cadangan diambil.
CompressionAlgorithm nvarchar(32) Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru.

Mengidentifikasi algoritma kompresi yang digunakan untuk mengompresi file cadangan. Defaultnya adalah MS_XPRESS. Untuk informasi selengkapnya, lihat BACKUP.

1 Jika kata sandi ditentukan untuk kumpulan cadangan, RESTORE HEADERONLY tampilkan informasi lengkap hanya untuk kumpulan cadangan yang kata sandinya cocok dengan opsi perintah yang ditentukan PASSWORD . RESTORE HEADERONLY juga menunjukkan informasi lengkap untuk kumpulan cadangan yang tidak terlindungi. Kolom BackupName untuk kumpulan cadangan lain yang dilindungi kata sandi pada media diatur ke 'Password Protected', dan semua kolom lainnya adalah NULL.

Keterangan

Klien dapat menggunakan RESTORE HEADERONLY untuk mengambil semua informasi header cadangan untuk semua cadangan pada perangkat cadangan tertentu. Untuk setiap cadangan pada perangkat cadangan, server mengirimkan informasi header sebagai baris.

RESTORE HEADERONLY melihat semua set cadangan pada media. Oleh karena itu, menghasilkan hasil ini diatur saat menggunakan drive pita kapasitas tinggi dapat memakan waktu. Untuk melihat sekilas media tanpa mendapatkan informasi tentang setiap kumpulan cadangan, gunakan RESTORE LABELONLY atau tentukan FILE = <backup_set_file_number>.

Karena sifat Format Pita Microsoft, dimungkinkan untuk set cadangan dari program perangkat lunak lain untuk menempati ruang pada media yang sama dengan set cadangan SQL Server. Tataan hasil yang dikembalikan dengan RESTORE HEADERONLY menyertakan baris untuk masing-masing kumpulan cadangan lainnya ini.

Keamanan

Operasi pencadangan dapat secara opsional menentukan kata sandi untuk set media, set cadangan, atau keduanya. Ketika kata sandi telah ditentukan pada set media atau set cadangan, Anda harus menentukan kata sandi atau kata sandi yang benar dalam pernyataan RESTORE. Kata sandi ini mencegah operasi pemulihan yang tidak sah dan penambung set cadangan yang tidak sah ke media menggunakan alat SQL Server. Namun, kata sandi tidak mencegah timpa media menggunakan opsi FORMAT pernyataan BACKUP.

Penting

Perlindungan yang diberikan oleh kata sandi ini lemah. Ini dimaksudkan untuk mencegah pemulihan yang salah menggunakan alat SQL Server oleh pengguna yang berwenang atau tidak sah. Ini tidak mencegah pembacaan data cadangan dengan cara lain atau penggantian kata sandi. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Praktik terbaik untuk melindungi cadangan adalah menyimpan pita cadangan di lokasi yang aman atau mencadangkan ke file disk yang dilindungi oleh daftar kontrol akses (ACL) yang memadai. ACL harus diatur pada akar direktori tempat cadangan dibuat.

Izin

Mendapatkan informasi tentang set cadangan atau perangkat cadangan memerlukan izin CREATE DATABASE. Untuk informasi selengkapnya, lihat IZIN GRANT Database (Transact-SQL).

Contoh

Contoh berikut mengembalikan informasi di header untuk file C:\AdventureWorks-FullBackup.bakdisk .

RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak';
GO

Lihat juga