Aracılığıyla paylaş


RESTORE deyimleri - HEADERONLY (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

SQL Server'da belirli bir yedekleme cihazındaki tüm yedekleme kümeleri için tüm yedekleme üst bilgisi bilgilerini içeren bir sonuç kümesi döndürür.

Uyarı

Bağımsız değişkenlerin açıklamaları için bkz. RESTORE Arguments (Transact-SQL).

Transact-SQL söz dizimi kuralları

Sözdizimi

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 }
}

Uyarı

URL , Azure Blob Depolama'nın konumunu ve dosya adını belirtmek için kullanılan biçimdir ve SQL Server 2012 (11.x) SP 1 CU 2 ile başlayarak desteklenir. Azure depolama bir hizmet olsa da, üç cihazın tümü için tutarlı ve sorunsuz bir geri yükleme deneyimi sağlamak için uygulama diske ve banda benzer.

Tartışmalar

Bağımsız değişkenlerin RESTORE HEADERONLY açıklamaları için bkz. RESTORE Arguments (Transact-SQL).

Sonuç kümeleri

Belirli bir cihazdaki her yedekleme için, sunucu aşağıdaki sütunları içeren bir üst bilgi satırı gönderir:

Sütun adı Veri türü SQL Server yedekleme kümeleri için açıklama
BackupName 1 nvarchar(128) Yedekleme kümesi adı.
BackupDescription nvarchar(255) Yedekleme kümesi açıklaması. NULL olabilir.
BackupType smallint Yedekleme türü:

1 = Veritabanı
2 = İşlem günlüğü
4 = Dosya
5 = Değişiklik veritabanı
6 = Değişiklik dosyası
7 = Kısmi
8 = Diferansiyel kısmi
ExpirationDate tarih ve saat Yedekleme kümesinin son kullanma tarihi.
Compressed bit Yedekleme kümesinin yazılım tabanlı sıkıştırma kullanılarak sıkıştırılıp sıkıştırılmadığı:

0 = Hayır
1 = Evet
Position smallint Birimdeki yedekleme kümesinin konumu (FILE = seçeneğiyle kullanmak için).
DeviceType tinyint Yedekleme işlemi için kullanılan cihaza karşılık gelen numara.

Disk:

- 2 = Mantıksal
- 102 = Fiziksel

Teyp:

- 5 = Mantıksal
- 105 = Fiziksel

Sanal Cihaz:

- 7 = Mantıksal
- 107 = Fiziksel

URL:

- 9 = Mantıksal
- 109 = Fiziksel

Mantıksal cihaz adları ve cihaz numaraları içindedir sys.backup_devices. Daha fazla bilgi için bkz. sys.backup_devices.
UserName nvarchar(128) Yedekleme işlemini gerçekleştiren kullanıcı adı.
ServerName nvarchar(128) Yedekleme kümesini yazan sunucunun adı.
DatabaseName nvarchar(128) Yedeklenen veritabanının adı.
DatabaseVersion Int Yedeklemenin oluşturulduğu veritabanının sürümü.
DatabaseCreationDate tarih ve saat Veritabanının oluşturulduğu tarih ve saat.
BackupSize sayısal(20,0) Yedeklemenin bayt cinsinden boyutu.
FirstLSN sayısal (25,0) Yedekleme kümesindeki ilk günlük kaydının günlük sırası numarası.
LastLSN sayısal (25,0) Yedekleme kümesinden sonraki günlük kaydının günlük sırası numarası.
CheckpointLSN sayısal (25,0) Yedeklemenin oluşturulduğu sırada en son denetim noktasının günlük sırası numarası.
DatabaseBackupLSN sayısal (25,0) En son tam veritabanı yedeklemesinin günlük sırası numarası.

DatabaseBackupLSN , yedekleme başlatıldığında tetiklenen "denetim noktasının başlangıcı"dır. Bu LSN, veritabanı boşta olduğunda ve çoğaltma yapılandırılmadığında yedeklemenin alınmasıyla FirstLSN çakışır.
BackupStartDate tarih ve saat Yedekleme işleminin başladığı tarih ve saat.
BackupFinishDate tarih ve saat Yedekleme işleminin bittiği tarih ve saat.
SortOrder smallint Sunucu sıralama düzeni. Bu sütun yalnızca veritabanı yedeklemeleri için geçerlidir. Geriye dönük uyumluluk için sağlanır.
CodePage smallint Sunucu tarafından kullanılan sunucu kodu sayfası veya karakter kümesi.
UnicodeLocaleId Int Unicode karakter verisi sıralama için kullanılan Sunucu Unicode yerel ayar kimliği yapılandırma seçeneği. Geriye dönük uyumluluk için sağlanır.
UnicodeComparisonStyle Int Unicode verilerinin sıralanması üzerinde ek denetim sağlayan Sunucu Unicode karşılaştırma stili yapılandırma seçeneği. Geriye dönük uyumluluk için sağlanır.
CompatibilityLevel tinyint Yedeklemenin oluşturulduğu veritabanının uyumluluk düzeyi ayarı.
SoftwareVendorId Int Yazılım satıcısı kimlik numarası. SQL Server için bu sayı (veya onaltılık) şeklindedir 46080x1200.
SoftwareVersionMajor Int Yedekleme kümesini oluşturan sunucunun ana sürüm numarası.
SoftwareVersionMinor Int Yedekleme kümesini oluşturan sunucunun ikincil sürüm numarası.
SoftwareVersionBuild Int Yedekleme kümesini oluşturan sunucunun derleme numarası.
MachineName nvarchar(128) Yedekleme işlemini gerçekleştiren bilgisayarın adı.
Flags Int Tek tek bayraklar bit anlamları:

- 1 = Günlük yedekleme toplu günlüğe kaydedilen işlemleri içerir.

- 2 = Anlık görüntü yedekleme.

- 4 = Veritabanı yedeklendiğinde salt okunurdu.

- 8 = Veritabanı yedeklendiğinde tek kullanıcı modundaydı.

- 16 = Yedekleme yedekleme sağlama toplamlarını içerir.

- 32 = Veritabanı yedeklendiğinde zarar gördü, ancak hatalara rağmen yedekleme işleminin devam etmesi istendi.

- 64 = Kuyruk günlüğü yedeklemesi.

- 128 = Tamamlanmamış meta verilerle kuyruk günlüğü yedeklemesi.

- 256 = NORECOVERY ile kuyruk günlüğü yedeklemesi.

Önemli: Tek tek Boole sütunlarını (bu tabloda ile Flags başlayan ve ile bitenHasBulkLoggedData) kullanmanız yerine IsCopyOnly kullanmanızı öneririz.
BindingID benzersiz tanımlayıcı Veritabanı için bağlama kimliği. Bu değer içinde database_guidöğesine sys.database_recovery_status karşılık gelir. Veritabanı geri yüklendiğinde yeni bir değer atanır. Ayrıca bkz. FamilyGUID.
RecoveryForkID benzersiz tanımlayıcı Son kurtarma çatalı kimliği. Bu sütun last_recovery_fork_guid tablosundaki öğesine karşılık gelir.

Veri yedeklemeleri RecoveryForkID için eşittir FirstRecoveryForkID.
Collation nvarchar(128) Veritabanı tarafından kullanılan harmanlama.
FamilyGUID benzersiz tanımlayıcı Oluşturulduğunda özgün veritabanının kimliği. Veritabanı geri yüklendiğinde bu değer aynı kalır.
HasBulkLoggedData bit 1 = Toplu günlüğe kaydedilen işlemleri içeren günlük yedeklemesi.
IsSnapshot bit 1 = Anlık görüntü yedekleme.
IsReadOnly bit 1 = Veritabanı yedeklendiğinde salt okunurdu.
IsSingleUser bit 1 = Veritabanı yedeklendiğinde tek kullanıcılıydı.
HasBackupChecksums bit 1 = Yedekleme yedekleme sağlama toplamlarını içerir.
IsDamaged bit 1 = Veritabanı yedeklendiğinde zarar gördü, ancak hatalara rağmen yedekleme işleminin devam etmesi istendi.
BeginsLogChain bit 1 = Bu, günlük yedeklemeleri zincirinin ilkidir. Günlük zinciri, veritabanı oluşturulduktan sonra veya Basit'ten Tam veya Bulk-Logged kurtarma modeline geçirildikten sonra alınan ilk günlük yedeklemesiyle başlar.
HasIncompleteMetaData bit 1 = Tamamlanmamış meta verileri olan bir kuyruk günlüğü yedeklemesi.

Tamamlanmamış yedekleme meta verilerine sahip kuyruk günlüğü yedeklemeleri hakkında bilgi için bkz. Tail-Log Yedeklemeleri (SQL Server).
IsForceOffline bit 1 = NORECOVERY ile alınan yedekleme; veritabanı yedekleme tarafından çevrimdışına alındı.
IsCopyOnly bit 1 = Yalnızca kopya yedekleme.

Yalnızca kopya yedeklemesi, veritabanının genel yedekleme ve geri yükleme yordamlarını etkilemez. Daha fazla bilgi için bkz. Copy-Only Yedeklemeler (SQL Server).
FirstRecoveryForkID benzersiz tanımlayıcı Başlangıç kurtarma çatalı kimliği. Bu sütun first_recovery_fork_guid tablosundaki öğesine karşılık gelir.

Veri yedeklemeleri FirstRecoveryForkID için eşittir RecoveryForkID.
ForkPointLSN sayısal (25,0) değerine eşit FirstRecoveryForkIDdeğilseRecoveryForkID, bu değer çatal noktasının günlük dizisi numarasıdır. Aksi takdirde, bu değer NULL'dir.
RecoveryModel nvarchar(60) Veritabanı için kurtarma modeli, bunlardan biri:

-DOLU
- BULK-LOGGED
-BASİT
DifferentialBaseLSN sayısal (25,0) Tek tabanlı değişiklik yedeklemesi için değer, fark tabanının değerine eşittir FirstLSN . LSN'ler değerinden büyük veya eşit DifferentialBaseLSN olan değişiklikler diferansiyele dahil edilir.

Çok tabanlı farklar için değer NULL olur ve temel LSN dosya düzeyinde belirlenmelidir. Daha fazla bilgi için bkz. RESTORE FILELISTONLY.

Değişiklik dışı yedekleme türleri için değer her zaman NULL'tır.

Daha fazla bilgi için bkz . Değişiklik Yedeklemeleri (SQL Server).
DifferentialBaseGUID benzersiz tanımlayıcı Tek tabanlı değişiklik yedeklemesi için değer, fark tabanının benzersiz tanımlayıcısıdır.

Çok tabanlı farklar için değer NULL olur ve fark tabanı dosya başına belirlenmelidir.

Değişiklik dışı yedekleme türleri için değer NULL'dir.
BackupTypeDescription nvarchar(60) Dize olarak yedekleme türü, şunlardan biri:

-VERİTABANI
- İŞLEM GÜNLÜĞÜ
- DOSYA VEYA DOSYA GRUBU
- VERITABANı FARKLARı
- DOSYA FARKI KISMİ
- KıSMI FARK
BackupSetGUID benzersiz tanımlayıcı Yedekleme kümesinin medyada tanımlandığı benzersiz tanımlama numarası. NULL olabilir.
CompressedBackupSize büyük Yedekleme kümesinin bayt sayısı. Sıkıştırılmamış yedeklemeler için bu değer ile BackupSizeaynıdır.

Sıkıştırma oranını hesaplamak için ve CompressedBackupSizekullanınBackupSize.

msdb Yükseltme sırasında, bu değer sütunun BackupSize değeriyle eşleşecek şekilde ayarlanır.
containment tinyint için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler.

Veritabanının kapsama durumunu gösterir.

0 = veritabanı kapsama kapalı
1 = veritabanı kısmi kapsamada
KeyAlgorithm nvarchar(32) Şunlar için geçerlidir: SQL Server 2014 (12.x) CU 1 ve sonraki sürümleri.

Yedeklemeyi şifrelemek için kullanılan şifreleme algoritması. NO_Encryption yedeklemenin şifrelenmediğini gösterir. Doğru değer belirlenemiyorsa değer NULL olmalıdır.
EncryptorThumbprint varbinary(20) Şunlar için geçerlidir: SQL Server 2014 (12.x) CU 1 ve sonraki sürümleri.

Veritabanında sertifikayı veya asimetrik anahtarı bulmak için kullanılabilecek şifrelayıcının parmak izi. Yedekleme şifrelenmediğinde bu değer NULL'tır.
EncryptorType nvarchar(32) Şunlar için geçerlidir: SQL Server 2014 (12.x) CU 1 ve sonraki sürümleri.

Kullanılan şifreleme türü: Sertifika veya Asimetrik Anahtar. Yedekleme şifrelenmediğinde bu değer NULL'tır.
LastValidRestoreTime tarih ve saat Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.

Son geçerli geri yükleme zamanı.
TimeZone nvarchar(32) Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.

Yedeklemenin alındığı sunucunun saat dilimi.
CompressionAlgorithm nvarchar(32) Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.

Yedekleme dosyasını sıkıştırmak için kullanılan sıkıştırma algoritmasını tanımlar. Varsayılan değer MS_XPRESS. Daha fazla bilgi için bkz. backup.

1 Yedekleme kümeleri için parolalar tanımlanmışsa, RESTORE HEADERONLY yalnızca parolası komutun belirtilen PASSWORD seçeneğiyle eşleşen yedekleme kümesi için tam bilgileri gösterir. RESTORE HEADERONLY ayrıca korumasız yedekleme kümeleri için tam bilgileri gösterir. BackupName Medyadaki diğer parola korumalı yedekleme kümelerinin sütunu olarak 'Password Protected'ayarlanır ve diğer tüm sütunlar NULL olur.

Açıklamalar

bir istemci, belirli bir yedekleme cihazındaki tüm yedeklemeler için tüm yedekleme üst bilgisi bilgilerini almak için kullanabilir RESTORE HEADERONLY . Yedekleme cihazındaki her yedekleme için sunucu üst bilgi bilgilerini satır olarak gönderir.

RESTORE HEADERONLY medyadaki tüm yedekleme kümelerine bakar. Bu nedenle, yüksek kapasiteli bant sürücüleri kullanılırken bu sonuç kümesinin üretilmesi biraz zaman alabilir. Her yedekleme kümesi hakkında bilgi almadan medyaya hızlı bir bakış elde etmek için kullanın RESTORE LABELONLY veya belirtin FILE = <backup_set_file_number>.

Microsoft Bant Biçimi'nin doğası gereği, diğer yazılım programlarından yedekleme kümelerinin SQL Server yedekleme kümeleri ile aynı medyada yer kaplaması mümkündür. tarafından RESTORE HEADERONLY döndürülen sonuç kümesi, bu diğer yedekleme kümelerinin her biri için bir satır içerir.

Güvenlik

Yedekleme işlemi isteğe bağlı olarak bir medya kümesi, yedekleme kümesi veya her ikisi için parola belirtebilir. Medya kümesinde veya yedekleme kümesinde parola tanımlandığında, RESTORE deyiminde doğru parolayı veya parolaları belirtmeniz gerekir. Bu parolalar, SQL Server araçlarını kullanarak yetkisiz geri yükleme işlemlerini ve yedekleme kümelerinin medyaya yetkisiz eklenmesini önler. Ancak parola, BACKUP deyiminin FORMAT seçeneğini kullanarak medyanın üzerine yazılmasını engellemez.

Önemli

Bu parola tarafından sağlanan koruma zayıftır. Yetkili veya yetkisiz kullanıcıların SQL Server araçlarını kullanarak yanlış geri yüklemeyi önlemeye yöneliktir. Yedekleme verilerinin başka yollarla okunmasını veya parolanın değiştirilmesini engellemez. Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Yedeklemeleri korumak için en iyi yöntem, yedekleme bantlarını güvenli bir konumda depolamak veya yeterli erişim denetim listeleri (ACL' ler) tarafından korunan disk dosyalarına yedeklemektir. ACL'ler, yedeklemelerin oluşturulduğu dizin kökünde ayarlanmalıdır.

İzinler

Yedekleme kümesi veya yedekleme cihazı hakkında bilgi almak için CREATE DATABASE izni gerekir. Daha fazla bilgi için bkz . GRANT Veritabanı İzinleri (Transact-SQL).

Örnekler

Aşağıdaki örnek, disk dosyasının C:\AdventureWorks-FullBackup.baküst bilgisindeki bilgileri döndürür.

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

Ayrıca bakınız