Dela via


RESTORE-instruktioner – HEADERONLY (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Returnerar en resultatuppsättning som innehåller all information om säkerhetskopieringshuvudet för alla säkerhetskopieringsuppsättningar på en viss säkerhetskopieringsenhet i SQL Server.

Anmärkning

Beskrivningarna av argumenten finns i RESTORE Arguments (Transact-SQL).

Transact-SQL syntaxkonventioner

Syntax

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

Anmärkning

URL är det format som används för att ange platsen och filnamnet för Azure Blob Storage och stöds från och med SQL Server 2012 (11.x) SP 1 CU 2. Även om Azure Storage är en tjänst liknar implementeringen disk och band för att möjliggöra en konsekvent och sömlös återställningsupplevelse för alla de tre enheterna.

Argumentpunkter

Beskrivningar av argumenten finns i RESTORE HEADERONLYRESTORE-argument (Transact-SQL).

Resultatuppsättningar

För varje säkerhetskopia på en viss enhet skickar servern en rad med rubrikinformation med följande kolumner:

Kolumnnamn Datatyp Beskrivning för SQL Server-säkerhetskopieringsuppsättningar
BackupName 1 nvarchar(128) Namn på säkerhetskopieringsuppsättning.
BackupDescription nvarchar(255) Beskrivning av säkerhetskopieringsuppsättning. Kan vara NULL.
BackupType smallint Typ av säkerhetskopiering:

1 = Databas
2 = Transaktionslogg
4 = Fil
5 = Differentiell databas
6 = Differentiell fil
7 = Partiell
8 = Partiell differentiell
ExpirationDate datetime Förfallodatum för säkerhetskopieringsuppsättningen.
Compressed bit Om säkerhetskopieringsuppsättningen komprimeras med programvarubaserad komprimering:

0 = Nej
1 = Ja
Position smallint Position för säkerhetskopieringsuppsättningen i volymen (för användning med alternativet FILE = ).
DeviceType tinyint Nummer som motsvarar den enhet som används för säkerhetskopieringsåtgärden.

Skiva:

- 2 = Logiskt
- 102 = Fysisk

Band:

- 5 = Logiskt
- 105 = Fysisk

Virtuell enhet:

- 7 = Logiskt
- 107 = Fysisk

URL:

- 9 = Logisk
- 109 = Fysisk

Logiska enhetsnamn och enhetsnummer finns i sys.backup_devices. Mer information finns i sys.backup_devices.
UserName nvarchar(128) Användarnamn som utförde säkerhetskopieringen.
ServerName nvarchar(128) Namnet på servern som skrev säkerhetskopieringsuppsättningen.
DatabaseName nvarchar(128) Namnet på databasen som säkerhetskopierades.
DatabaseVersion Int Version av databasen som säkerhetskopieringen skapades från.
DatabaseCreationDate datetime Datum och tid då databasen skapades.
BackupSize numeriskt(20,0) Storleken på säkerhetskopian i byte.
FirstLSN numerisk(25,0) Loggsekvensnummer för den första loggposten i säkerhetskopieringsuppsättningen.
LastLSN numerisk(25,0) Loggsekvensnummer för nästa loggpost efter säkerhetskopieringsuppsättningen.
CheckpointLSN numerisk(25,0) Loggsekvensnummer för den senaste kontrollpunkten när säkerhetskopieringen skapades.
DatabaseBackupLSN numerisk(25,0) Loggsekvensnummer för den senaste fullständiga databassäkerhetskopian.

DatabaseBackupLSN är "början av kontrollpunkten" som utlöses när säkerhetskopieringen startar. Detta LSN sammanfaller med FirstLSN om säkerhetskopieringen görs när databasen är inaktiv och ingen replikering har konfigurerats.
BackupStartDate datetime Datum och tid då säkerhetskopieringen påbörjades.
BackupFinishDate datetime Datum och tid då säkerhetskopieringen slutfördes.
SortOrder smallint Sorteringsordning för server. Den här kolumnen är endast giltig för databassäkerhetskopior. Tillhandahålls för bakåtkompatibilitet.
CodePage smallint Serverkodssida eller teckenuppsättning som används av servern.
UnicodeLocaleId Int Konfigurationsalternativ för Server Unicode-språk-ID som används för unicode-teckendatasortering. Tillhandahålls för bakåtkompatibilitet.
UnicodeComparisonStyle Int Konfigurationsalternativ för Server Unicode-jämförelseformat, vilket ger ytterligare kontroll över sortering av Unicode-data. Tillhandahålls för bakåtkompatibilitet.
CompatibilityLevel tinyint Kompatibilitetsnivåinställning för databasen som säkerhetskopieringen skapades från.
SoftwareVendorId Int Identifieringsnummer för programvaruleverantör. För SQL Server är 4608 det här talet (eller hexadecimalt 0x1200).
SoftwareVersionMajor Int Huvudversionsnummer för servern som skapade säkerhetskopieringsuppsättningen.
SoftwareVersionMinor Int Delversionsnummer för servern som skapade säkerhetskopieringsuppsättningen.
SoftwareVersionBuild Int Skapa numret på servern som skapade säkerhetskopieringsuppsättningen.
MachineName nvarchar(128) Namnet på datorn som utförde säkerhetskopieringen.
Flags Int Enskilda flaggor bitar betydelser:

- 1 = Loggsäkerhetskopiering innehåller massloggade åtgärder.

- 2 = Säkerhetskopiering av ögonblicksbilder.

- 4 = Databasen var skrivskyddad när den säkerhetskopierades.

- 8 = Databasen var i enanvändarläge när den säkerhetskopierades.

– 16 = Säkerhetskopieringen innehåller kontrollsummor för säkerhetskopiering.

- 32 = Databasen skadades när den säkerhetskopierades, men säkerhetskopieringen begärdes att fortsätta trots fel.

- 64 = Säkerhetskopiering av slutlogg.

- 128 = Säkerhetskopiering av slutlogg med ofullständiga metadata.

- 256 = Säkerhetskopiering av slutlogg med NORECOVERY.

Viktig: Vi rekommenderar att du i stället för Flags att använda enskilda booleska kolumner (börjar med HasBulkLoggedData och slutar med IsCopyOnly i den här tabellen).
BindingID unika identifierare Bindnings-ID för databasen. Det här värdet motsvarar database_guid i sys.database_recovery_status. När en databas återställs tilldelas ett nytt värde. Se även FamilyGUID.
RecoveryForkID unika identifierare ID för den avslutande återställningsgrenen. Den här kolumnen motsvarar last_recovery_fork_guid i tabellen för säkerhetskopior .

För datasäkerhetskopior RecoveryForkID är lika med FirstRecoveryForkID.
Collation nvarchar(128) Sortering som används av databasen.
FamilyGUID unika identifierare ID för den ursprungliga databasen när den skapades. Det här värdet förblir detsamma när databasen återställs.
HasBulkLoggedData bit 1 = Loggsäkerhetskopiering som innehåller massloggade åtgärder.
IsSnapshot bit 1 = Säkerhetskopiering av ögonblicksbilder.
IsReadOnly bit 1 = Databasen var skrivskyddad när den säkerhetskopierades.
IsSingleUser bit 1 = Databasen var en användare när den säkerhetskopierades.
HasBackupChecksums bit 1 = Säkerhetskopiering innehåller kontrollsummor för säkerhetskopiering.
IsDamaged bit 1 = Databasen skadades när den säkerhetskopierades, men säkerhetskopieringen begärdes att fortsätta trots fel.
BeginsLogChain bit 1 = Detta är det första i en kontinuerlig kedja av loggsäkerhetskopior. En loggkedja börjar med den första loggsäkerhetskopian som görs efter att databasen har skapats eller när den växlas från enkel till fullständig eller Bulk-Logged återställningsmodell.
HasIncompleteMetaData bit 1 = En säkerhetskopia av tail-log med ofullständiga metadata.

Information om säkerhetskopieringar av slutloggar med ofullständiga säkerhetskopieringsmetadata finns iTail-Log Backups (SQL Server).
IsForceOffline bit 1 = Säkerhetskopiering med NORECOVERY; databasen togs offline av en säkerhetskopia.
IsCopyOnly bit 1 = En kopieringssäkerhetskopia.

En säkerhetskopiering med endast kopiering påverkar inte de övergripande säkerhetskopierings- och återställningsprocedurerna för databasen. Mer information finns iCopy-Only Backups (SQL Server).
FirstRecoveryForkID unika identifierare ID för startåterställningsgrenen. Den här kolumnen motsvarar first_recovery_fork_guid i tabellen för säkerhetskopior .

För datasäkerhetskopior FirstRecoveryForkID är lika med RecoveryForkID.
ForkPointLSN numerisk(25,0) Om FirstRecoveryForkID inte är lika med RecoveryForkIDär det här värdet loggsekvensnumret för förgreningspunkten. Annars är det här värdet NULL.
RecoveryModel nvarchar(60) Återställningsmodell för databasen, en av:

-FULL
- BULK-LOGGED
-ENKEL
DifferentialBaseLSN numerisk(25,0) För en enbaserad differentiell säkerhetskopia är värdet lika med FirstLSN differentiell bas. Ändringar med LSN som är större än eller lika DifferentialBaseLSN med ingår i differentiella.

För en multibaserad differentiell är värdet NULL och bas-LSN måste fastställas på filnivå. Mer information finns i RESTORE FILELISTONLY.

För icke-differentiella säkerhetskopieringstyper är värdet alltid NULL.

Mer information finns i Differentiella säkerhetskopieringar (SQL Server).
DifferentialBaseGUID unika identifierare För en enbaserad differentiell säkerhetskopiering är värdet den unika identifieraren för differentiell bas.

För multibaserade differentiella värden är värdet NULL och differentiell bas måste fastställas per fil.

För icke-differentiella säkerhetskopieringstyper är värdet NULL.
BackupTypeDescription nvarchar(60) Typ av säkerhetskopiering som sträng, något av:

-DATABAS
-TRANSAKTIONSLOGGEN
– FIL- ELLER FILGRUPP
– DATABASDIFFERENS
– PARTIELL FILDIFFERENS
- PARTIELL DIFFERENTIELL
BackupSetGUID unika identifierare Unikt identifieringsnummer för den säkerhetskopieringsuppsättning som den identifieras med på mediet. Kan vara NULL.
CompressedBackupSize bigint Antal byte för säkerhetskopieringsuppsättningen. För okomprimerade säkerhetskopior är det här värdet detsamma som BackupSize.

Om du vill beräkna komprimeringsförhållandet använder du CompressedBackupSize och BackupSize.

Under en msdb uppgradering är det här värdet inställt på att matcha värdet för BackupSize kolumnen.
containment tinyint gäller för: SQL Server 2012 (11.x) och senare versioner.

Anger databasens inneslutningsstatus.

0 = databasens inneslutning är inaktiverad
1 = databasen är delvis innesluten
KeyAlgorithm nvarchar(32) Gäller för: SQL Server 2014 (12.x) CU 1 och senare versioner.

Krypteringsalgoritmen som används för att kryptera säkerhetskopian. NO_Encryption anger att säkerhetskopieringen inte krypterades. När rätt värde inte kan fastställas ska värdet vara NULL.
EncryptorThumbprint varbinary(20) Gäller för: SQL Server 2014 (12.x) CU 1 och senare versioner.

Tumavtrycket för krypteraren som kan användas för att hitta certifikatet eller den asymmetriska nyckeln i databasen. När säkerhetskopieringen inte krypterades är det här värdet NULL.
EncryptorType nvarchar(32) Gäller för: SQL Server 2014 (12.x) CU 1 och senare versioner.

Den typ av kryptering som används: Certifikat eller asymmetrisk nyckel. När säkerhetskopieringen inte krypterades är det här värdet NULL.
LastValidRestoreTime datetime gäller för: SQL Server 2022 (16.x) och senare versioner.

Den senaste giltiga återställningstiden.
TimeZone nvarchar(32) gäller för: SQL Server 2022 (16.x) och senare versioner.

Tidszonen för servern som säkerhetskopieringen gjordes från.
CompressionAlgorithm nvarchar(32) gäller för: SQL Server 2022 (16.x) och senare versioner.

Identifierar komprimeringsalgoritmen som används för att komprimera säkerhetskopieringsfilen. Standardvärdet är MS_XPRESS. Mer information finns i BACKUP.

1 Om lösenord har definierats för säkerhetskopieringsuppsättningarna visar RESTORE HEADERONLY fullständig information endast för den säkerhetskopieringsuppsättning vars lösenord matchar det angivna PASSWORD alternativet för kommandot. RESTORE HEADERONLY visar också fullständig information för oskyddade säkerhetskopieringsuppsättningar. Kolumnen BackupName för de andra lösenordsskyddade säkerhetskopieringsuppsättningarna på mediet är inställd 'Password Protected'på , och alla andra kolumner är NULL.

Anmärkningar

En klient kan använda RESTORE HEADERONLY för att hämta all information om säkerhetskopieringshuvudet för alla säkerhetskopior på en viss säkerhetskopieringsenhet. För varje säkerhetskopia på säkerhetskopieringsenheten skickar servern rubrikinformationen som en rad.

RESTORE HEADERONLY tittar på alla säkerhetskopieringsuppsättningar på mediet. Det kan därför ta lite tid att producera den här resultatuppsättningen när du använder bandenheter med hög kapacitet. Om du vill få en snabb titt på mediet utan att få information om varje säkerhetskopieringsuppsättning använder RESTORE LABELONLY du eller anger FILE = <backup_set_file_number>.

På grund av microsofts bandformat är det möjligt för säkerhetskopieringsuppsättningar från andra program att uppta utrymme på samma media som SQL Server-säkerhetskopieringsuppsättningar. Resultatuppsättningen som returneras av RESTORE HEADERONLY innehåller en rad för var och en av dessa andra säkerhetskopieringsuppsättningar.

Säkerhet

En säkerhetskopieringsåtgärd kan också ange lösenord för en medieuppsättning, en säkerhetskopieringsuppsättning eller båda. När ett lösenord har definierats på en medieuppsättning eller en säkerhetskopia måste du ange rätt lösenord eller lösenord i RESTORE-instruktionen. Dessa lösenord förhindrar obehöriga återställningsåtgärder och obehöriga tillägg av säkerhetskopieringsuppsättningar till media med hjälp av SQL Server-verktyg. Ett lösenord förhindrar dock inte överskrivning av media med alternativet FORMAT för BACKUP-instruktionen.

Viktigt!

Skyddet som tillhandahålls av det här lösenordet är svagt. Den är avsedd att förhindra en felaktig återställning med hjälp av SQL Server-verktyg av auktoriserade eller obehöriga användare. Det förhindrar inte läsning av säkerhetskopierade data på annat sätt eller ersättning av lösenordet. Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Det bästa sättet att skydda säkerhetskopior är att lagra säkerhetskopieringsband på en säker plats eller säkerhetskopiera till diskfiler som skyddas av lämpliga åtkomstkontrollistor (ACL). ACL:erna ska anges i katalogroten under vilken säkerhetskopior skapas.

Behörigheter

För att få information om en säkerhetskopieringsuppsättning eller säkerhetskopieringsenhet krävs behörigheten SKAPA DATABAS. För mer information, se BEVILJA databasrättigheter (Transact-SQL).

Exempel

I följande exempel returneras informationen i rubriken för diskfilen C:\AdventureWorks-FullBackup.bak.

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

Se även