Sdílet prostřednictvím


Příkazy RESTORE – HEADERONLY (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Vrátí sadu výsledků obsahující všechny informace o hlavičce zálohy pro všechny zálohovací sady na konkrétním zálohovacím zařízení na SQL Serveru.

Poznámka:

Popisy argumentů naleznete v tématu OBNOVIT argumenty (Transact-SQL).

Transact-SQL konvence syntaxe

Syntaxe

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

Poznámka:

URL je formát používaný k určení umístění a názvu souboru pro Azure Blob Storage a podporuje se od SQL Serveru 2012 (11.x) SP 1 CU 2. I když je úložiště Azure služba, implementace se podobá disku a pásce, aby bylo možné zajistit konzistentní a bezproblémové obnovení pro všechna tři zařízení.

Argumenty

Popisy argumentů RESTORE HEADERONLY naleznete v tématu RESTORE Argumenty (Transact-SQL).

Sady výsledků

Pro každou zálohu na daném zařízení odešle server řádek informací záhlaví s následujícími sloupci:

Název sloupce Datový typ Popis sad záloh SQL Serveru
BackupName 1 nvarchar(128) Název sady záloh
BackupDescription nvarchar(255) Popis sady záloh Může mít hodnotu NULL.
BackupType smallint Typ zálohování:

1 = Databáze
2 = Transakční protokol
4 = Soubor
5 = Rozdílová databáze
6 = Rozdílový soubor
7 = částečná
8 = Rozdílové částečné
ExpirationDate datum a čas Datum vypršení platnosti sady záloh
Compressed bit Zda je sada záloh komprimována pomocí komprese založené na softwaru:

0 = Ne
1 = Ano
Position smallint Umístění zálohovací sady ve svazku (pro použití se souborem = možnost).
DeviceType tinyint Číslo odpovídající zařízení použitému pro operaci zálohování

Disk:

- 2 = logická
- 102 = fyzický

Páska:

- 5 = logická
- 105 = fyzický

Virtuální zařízení:

- 7 = logická
- 107 = fyzický

Adresa URL:

- 9 = logická
- 109 = fyzický

Názvy logických zařízení a čísla zařízení jsou v sys.backup_devices. Další informace najdete v tématu sys.backup_devices.
UserName nvarchar(128) Uživatelské jméno, které provedlo operaci zálohování.
ServerName nvarchar(128) Název serveru, který napsal zálohovací sadu
DatabaseName nvarchar(128) Název zálohované databáze.
DatabaseVersion Int Verze databáze, ze které byla vytvořena záloha.
DatabaseCreationDate datum a čas Datum a čas vytvoření databáze
BackupSize numeric(20;0) Velikost zálohy v bajtech
FirstLSN čísel(25 0) Pořadové číslo prvního záznamu protokolu v sadě záloh.
LastLSN čísel(25 0) Pořadové číslo dalšího záznamu protokolu po sadě záloh.
CheckpointLSN čísel(25 0) Pořadové číslo protokolu posledního kontrolního bodu v okamžiku vytvoření zálohy.
DatabaseBackupLSN čísel(25 0) Pořadové číslo protokolu nejnovější úplné zálohy databáze.

DatabaseBackupLSN je začátek kontrolního bodu, který se aktivuje při spuštění zálohování. Tento LSN se shoduje s FirstLSN tím, jestli se záloha provádí, když je databáze nečinná a nenakonfiguruje se žádná replikace.
BackupStartDate datum a čas Datum a čas zahájení operace zálohování
BackupFinishDate datum a čas Datum a čas dokončení operace zálohování
SortOrder smallint Pořadí řazení serveru. Tento sloupec je platný pouze pro zálohy databáze. Poskytuje se zpětná kompatibilita.
CodePage smallint Znaková stránka serveru nebo znaková sada používaná serverem
UnicodeLocaleId Int Možnost konfigurace ID národního prostředí Unicode použitá pro řazení dat znaků Unicode. Poskytuje se zpětná kompatibilita.
UnicodeComparisonStyle Int Možnost konfigurace stylu porovnání sady Unicode serveru, která poskytuje další kontrolu nad řazením dat Unicode. Poskytuje se zpětná kompatibilita.
CompatibilityLevel tinyint Nastavení úrovně kompatibility databáze, ze které bylo vytvořeno zálohování.
SoftwareVendorId Int Identifikační číslo dodavatele softwaru. Pro SQL Server je 4608 toto číslo (nebo šestnáctkové 0x1200).
SoftwareVersionMajor Int Číslo hlavní verze serveru, který vytvořil sadu záloh.
SoftwareVersionMinor Int Číslo podverze serveru, který vytvořil sadu záloh.
SoftwareVersionBuild Int Build number of the server that created the backup set.
MachineName nvarchar(128) Název počítače, který provedl operaci zálohování.
Flags Int Jednotlivé příznaky bit významy:

- 1 = Zálohování protokolů obsahuje hromadně protokolované operace.

- 2 = zálohování snímků.

- 4 = Databáze byla při zálohování jen pro čtení.

- 8 = Databáze byla při zálohování v režimu jednoho uživatele.

- 16 = Zálohování obsahuje kontrolní součty zálohování.

- 32 = Databáze byla poškozena při zálohování, ale operace zálohování byla požadována, aby pokračovala i přes chyby.

- 64 = záloha protokolu tail.

- 128 = zálohování protokolu tail s neúplnými metadaty.

- 256 = zálohování protokolu tail pomocí NORECOVERY.

Důležitý: Doporučujeme místo Flags použití jednotlivých logických sloupců (počínaje HasBulkLoggedData a končící IsCopyOnly v této tabulce).
BindingID jedinečnýidentifikátor ID vazby pro databázi. Tato hodnota odpovídá database_guid hodnotě .sys.database_recovery_status Při obnovení databáze se přiřadí nová hodnota. Viz také FamilyGUID.
RecoveryForkID jedinečnýidentifikátor ID koncového forku obnovení. Tento sloupec odpovídá last_recovery_fork_guid v tabulce backupset .

Pro zálohy dat se RecoveryForkID rovná FirstRecoveryForkID.
Collation nvarchar(128) Kolace používaná databází.
FamilyGUID jedinečnýidentifikátor ID původní databáze při vytváření. Tato hodnota zůstane stejná při obnovení databáze.
HasBulkLoggedData bit 1 = Zálohování protokolů obsahující hromadně protokolované operace.
IsSnapshot bit 1 = Zálohování snímků.
IsReadOnly bit 1 = Databáze byla při zálohování jen pro čtení.
IsSingleUser bit 1 = Databáze byla při zálohování jednouživatelem.
HasBackupChecksums bit 1 = Zálohování obsahuje kontrolní součty zálohování.
IsDamaged bit 1 = Databáze byla poškozena při zálohování, ale operace zálohování byla požadována, aby pokračovala i přes chyby.
BeginsLogChain bit 1 = Toto je první v nepřetržitém řetězu záloh protokolů. Řetěz protokolů začíná první zálohou protokolu vytvořenou po vytvoření databáze nebo při přepnutí z jednoduchého na úplný nebo Bulk-Logged model obnovení.
HasIncompleteMetaData bit 1 = Záloha tail-log s neúplnými metadaty.

Informace o zálohách tail-log s neúplnými metadaty zálohování najdete v tématu Tail-Log Zálohování (SQL Server).
IsForceOffline bit 1 = zálohování pořízené pomocí NORECOVERY; databáze byla převezměna do offline režimu zálohováním.
IsCopyOnly bit 1 = záloha jen pro kopírování.

Zálohování pouze kopírování nemá vliv na celkové postupy zálohování a obnovení databáze. Další informace naleznete v tématu Copy-Only zálohování (SQL Server).
FirstRecoveryForkID jedinečnýidentifikátor ID spouštěcího forku obnovení. Tento sloupec odpovídá first_recovery_fork_guid v tabulce backupset .

Pro zálohy dat se FirstRecoveryForkID rovná RecoveryForkID.
ForkPointLSN čísel(25 0) Pokud FirstRecoveryForkID se nerovná RecoveryForkID, jedná se o pořadové číslo protokolu forku. V opačném případě je tato hodnota NULL.
RecoveryModel nvarchar(60) Model obnovení pro databázi, jeden z těchto:

-PLNÝ
- BULK-LOGGED
-JEDNODUCHÝ
DifferentialBaseLSN čísel(25 0) U jednoúčelového rozdílového zálohování se hodnota rovná FirstLSN rozdílové bázi. Změny se sítěmi LSN, které jsou větší nebo rovny DifferentialBaseLSN , jsou zahrnuty v rozdílovém rozdílu.

U rozdílového rozdílu s více hodnotami je hodnota NULL a základní LSN musí být určena na úrovni souboru. Další informace naleznete v tématu RESTORE FILELISTONLY.

U jiných než rozdílových typů záloh je hodnota vždy NULL.

Další informace naleznete v tématu rozdílové zálohování (SQL Server).
DifferentialBaseGUID jedinečnýidentifikátor U jednoúčelového rozdílového zálohování je hodnota jedinečným identifikátorem rozdílové základny.

Pro rozdílové rozdíly s více hodnotami je hodnota NULL a rozdílová základna musí být určena pro každý soubor.

U jiných než rozdílových typů záloh je hodnota NULL.
BackupTypeDescription nvarchar(60) Typ zálohy jako řetězec, jeden z těchto:

-DATABÁZE
- TRANSAKČNÍ PROTOKOL
- FILE OR FILEGROUP
- ROZDÍLOVÝ ROZDÍL V DATABÁZI
- ROZDÍLOVÝ SOUBOR ČÁSTEČNĚ
- ČÁSTEČNÉ ROZDÍLOVÉ
BackupSetGUID jedinečnýidentifikátor Jedinečné identifikační číslo zálohovací sady, pomocí které je identifikováno na médiu. Může mít hodnotu NULL.
CompressedBackupSize bigint Počet bajtů sady záloh U nekomprimovaných záloh je tato hodnota stejná jako BackupSize.

K výpočtu poměru komprese použijte CompressedBackupSize a BackupSize.

msdb Během upgradu je tato hodnota nastavená tak, aby odpovídala hodnotě BackupSize sloupce.
containment tinyint platí pro: SQL Server 2012 (11.x) a novější verze.

Označuje stav uzavření databáze.

0 = uzavření databáze je vypnuté.
1 = databáze je v částečném uzavření
KeyAlgorithm nvarchar(32) Platí pro: SQL Server 2014 (12.x) CU 1 a novější verze.

Šifrovací algoritmus použitý k šifrování zálohy. NO_Encryption značí, že zálohování nebylo šifrované. Pokud nelze určit správnou hodnotu, měla by mít hodnotu NULL.
EncryptorThumbprint varbinary(20) Platí pro: SQL Server 2014 (12.x) CU 1 a novější verze.

Kryptografický otisk zašifrovače, který lze použít k vyhledání certifikátu nebo asymetrického klíče v databázi. Pokud zálohování nebylo šifrované, má tato hodnota hodnotu NULL.
EncryptorType nvarchar(32) Platí pro: SQL Server 2014 (12.x) CU 1 a novější verze.

Typ použitého šifrovaného objektu: Certifikát nebo asymetrický klíč. Pokud zálohování nebylo šifrované, má tato hodnota hodnotu NULL.
LastValidRestoreTime datum a čas platí pro: SQL Server 2022 (16.x) a novější verze.

Poslední platný čas obnovení.
TimeZone nvarchar(32) platí pro: SQL Server 2022 (16.x) a novější verze.

Časové pásmo serveru, ze kterého bylo zálohování pořízeno.
CompressionAlgorithm nvarchar(32) platí pro: SQL Server 2022 (16.x) a novější verze.

Identifikuje algoritmus komprese použitý ke komprimaci záložního souboru. Výchozí hodnota je MS_XPRESS. Další informace naleznete v tématu ZÁLOHOVÁNÍ.

1 Pokud jsou hesla definovaná pro zálohovací sady, zobrazí úplné informace pouze pro sadu záloh, RESTORE HEADERONLY jejíž heslo odpovídá zadané PASSWORD možnosti příkazu. RESTORE HEADERONLY zobrazuje také úplné informace o nechráněných sadách zálohování. Sloupec BackupName ostatních sad záloh chráněných heslem na médiu je nastaven na 'Password Protected'hodnotu a všechny ostatní sloupce mají hodnotu NULL.

Poznámky

Klient může použít RESTORE HEADERONLY k načtení všech informací hlavičky zálohování pro všechny zálohy na konkrétním zálohovacím zařízení. Pro každou zálohu na zálohovací zařízení odešle server informace záhlaví jako řádek.

RESTORE HEADERONLY prohlédne si všechny zálohovací sady na médiu. Proto vytvoření této sady výsledků při použití vysokokapacitních páskových jednotek může nějakou dobu trvat. Chcete-li získat rychlý pohled na médium bez získání informací o každé zálohovací sadě, použijte RESTORE LABELONLY nebo zadejte FILE = <backup_set_file_number>.

Vzhledem k povaze formátu Microsoft Tape Format je možné, aby zálohovací sady z jiných softwarových programů zabíraly místo na stejném médiu jako zálohovací sady SQL Serveru. Sada výsledků vrácená RESTORE HEADERONLY sadou obsahuje řádek pro každou z těchto dalších sad zálohování.

Bezpečnost

Operace zálohování může volitelně zadat hesla pro sadu médií, zálohovací sadu nebo obojí. Pokud je heslo definováno v sadě médií nebo sadě záloh, je nutné zadat správné heslo nebo hesla v příkazu RESTORE. Tato hesla brání neoprávněným operacím obnovení a neautorizovaným připojením sad záloh k médiím pomocí nástrojů SQL Serveru. Heslo ale nezabrání přepsání média pomocí možnosti FORMAT příkazu BACKUP.

Důležité

Ochrana poskytovaná tímto heslem je slabá. Účelem je zabránit nesprávnému obnovení pomocí nástrojů SQL Serveru autorizovanými nebo neoprávněnými uživateli. Nezabrání čtení zálohovaných dat jinými prostředky ani nahrazení hesla. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Osvědčeným postupem pro ochranu záloh je ukládání záložních pásek do zabezpečeného umístění nebo zálohování na diskové soubory, které jsou chráněné odpovídajícími seznamy řízení přístupu (ACL). Seznamy ACL by měly být nastavené v kořenovém adresáři, pod kterým se vytvářejí zálohy.

Povolení

Získání informací o zálohovací sadě nebo zálohovací zařízení vyžaduje oprávnění CREATE DATABASE. Podívejte se na GRANT Database Permissions (Transact-SQL)pro více informací.

Příklady

Následující příklad vrátí informace v hlavičce souboru disku C:\AdventureWorks-FullBackup.bak.

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

Viz také