Delen via


RESTORE-instructies - HEADERONLY (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Retourneert een resultatenset met alle back-upheadergegevens voor alle back-upsets op een bepaald back-upapparaat in SQL Server.

Opmerking

Zie RESTORE-argumenten (Transact-SQL) voor de beschrijvingen van de argumenten.

Transact-SQL syntaxis-conventies

Syntaxis

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

Opmerking

URL is de indeling die wordt gebruikt om de locatie en de bestandsnaam voor Azure Blob Storage op te geven en wordt ondersteund vanaf SQL Server 2012 (11.x) SP 1 CU 2. Hoewel Azure Storage een service is, is de implementatie vergelijkbaar met schijf en tape, om een consistente en naadloze herstelervaring voor alle drie de apparaten mogelijk te maken.

Argumenten

Zie RESTORE HEADERONLY voor beschrijvingen van de argumenten.

Resultatensets

Voor elke back-up op een bepaald apparaat verzendt de server een rij met headergegevens met de volgende kolommen:

Kolomnaam Gegevenstype Beschrijving voor BACK-upsets van SQL Server
BackupName 1 Nvarchar(128) Naam van back-upset.
BackupDescription nvarchar(255) Beschrijving van back-upset. Kan NULL zijn.
BackupType smallint Type back-up:

1 = Database
2 = Transactielogboek
4 = Bestand
5 = Differentiële database
6 = Differentiële bestand
7 = Gedeeltelijk
8 = Differentiële gedeeltelijke
ExpirationDate datum en tijd Vervaldatum voor de back-upset.
Compressed bit Of de back-upset wordt gecomprimeerd met softwaregebaseerde compressie:

0 = Nee
1 = Ja
Position smallint Positie van de back-upset in het volume (voor gebruik met de optie FILE =).
DeviceType tinyint Nummer dat overeenkomt met het apparaat dat wordt gebruikt voor de back-upbewerking.

Schijf:

- 2 = Logisch
- 102 = Fysiek

Band:

- 5 = Logisch
- 105 = Fysiek

Virtueel apparaat:

- 7 = Logisch
- 107 = Fysiek

URL:

- 9 = Logisch
- 109 = Fysiek

Namen van logische apparaten en apparaatnummers bevinden zich in sys.backup_devices. Zie sys.backup_devices voor meer informatie.
UserName Nvarchar(128) Gebruikersnaam die de back-upbewerking heeft uitgevoerd.
ServerName Nvarchar(128) Naam van de server die de back-upset heeft geschreven.
DatabaseName Nvarchar(128) Naam van de database waarvan een back-up is gemaakt.
DatabaseVersion Int Versie van de database waaruit de back-up is gemaakt.
DatabaseCreationDate datum en tijd De datum en tijd waarop de database is gemaakt.
BackupSize numeriek(20,0) Grootte van de back-up, in bytes.
FirstLSN numeriek(25,0) Logboekvolgordenummer van de eerste logboekrecord in de back-upset.
LastLSN numeriek(25,0) Logboekvolgordenummer van de volgende logboekrecord na de back-upset.
CheckpointLSN numeriek(25,0) Logboekvolgordenummer van het meest recente controlepunt op het moment dat de back-up is gemaakt.
DatabaseBackupLSN numeriek(25,0) Logboekvolgordenummer van de meest recente volledige databaseback-up.

DatabaseBackupLSN is het begin van het controlepunt dat wordt geactiveerd wanneer de back-up wordt gestart. Deze LSN valt samen als FirstLSN de back-up wordt gemaakt wanneer de database niet actief is en er geen replicatie is geconfigureerd.
BackupStartDate datum en tijd De datum en tijd waarop de back-upbewerking is gestart.
BackupFinishDate datum en tijd Datum en tijd waarop de back-upbewerking is voltooid.
SortOrder smallint Sorteervolgorde van de server. Deze kolom is alleen geldig voor databaseback-ups. Voorzien voor compatibiliteit met eerdere versies.
CodePage smallint Servercodepagina of tekenset die door de server wordt gebruikt.
UnicodeLocaleId Int Configuratieoptie voor de unicode-landinstellingen van de server die wordt gebruikt voor het sorteren van Unicode-tekengegevens. Voorzien voor compatibiliteit met eerdere versies.
UnicodeComparisonStyle Int Configuratieoptie voor unicode-vergelijkingsstijlen van server, die extra controle biedt over het sorteren van Unicode-gegevens. Voorzien voor compatibiliteit met eerdere versies.
CompatibilityLevel tinyint Instelling op compatibiliteitsniveau van de database waaruit de back-up is gemaakt.
SoftwareVendorId Int Identificatienummer van softwareleverancier. Voor SQL Server is 4608 dit getal (of hexadecimaal 0x1200).
SoftwareVersionMajor Int Primaire versienummer van de server die de back-upset heeft gemaakt.
SoftwareVersionMinor Int Secundair versienummer van de server die de back-upset heeft gemaakt.
SoftwareVersionBuild Int Buildnummer van de server die de back-upset heeft gemaakt.
MachineName Nvarchar(128) Naam van de computer waarop de back-upbewerking is uitgevoerd.
Flags Int Afzonderlijke vlaggen bits betekenissen:

- 1 = Logboekback-up bevat bulksgewijs vastgelegde bewerkingen.

- 2 = Momentopnameback-up.

- 4 = Database was alleen-lezen toen er een back-up van werd gemaakt.

- 8 = Database was in de modus voor één gebruiker wanneer er een back-up van werd gemaakt.

- 16 = Back-up bevat back-upcontrolesommen.

- 32 = Database is beschadigd tijdens het maken van een back-up, maar de back-upbewerking is aangevraagd om door te gaan ondanks fouten.

- 64 = Back-up van Tail-logboek.

- 128 = Back-up van Tail-logboek met onvolledige metagegevens.

- 256 = Back-up van Tail-logboek met NORECOVERY.

Belangrijk: Het is raadzaam om in plaats van Flags de afzonderlijke Booleaanse kolommen te gebruiken (beginnend met HasBulkLoggedData en eindigend met IsCopyOnly in deze tabel).
BindingID uniqueidentifier Bindings-id voor de database. Deze waarde komt overeen met database_guid in sys.database_recovery_status. Wanneer een database wordt hersteld, wordt er een nieuwe waarde toegewezen. Zie ook FamilyGUID.
RecoveryForkID uniqueidentifier Id voor de eindherstelfork. Deze kolom komt overeen met last_recovery_fork_guid in de back-upsettabel .

Voor gegevensback-ups is RecoveryForkID gelijk aan FirstRecoveryForkID.
Collation Nvarchar(128) Sortering die wordt gebruikt door de database.
FamilyGUID uniqueidentifier Id van de oorspronkelijke database bij het maken. Deze waarde blijft hetzelfde wanneer de database wordt hersteld.
HasBulkLoggedData bit 1 = Logboekback-up met bulksgewijs vastgelegde bewerkingen.
IsSnapshot bit 1 = Momentopnameback-up.
IsReadOnly bit 1 = Database was alleen-lezen toen er een back-up van werd gemaakt.
IsSingleUser bit 1 = Database was één gebruiker bij het maken van een back-up.
HasBackupChecksums bit 1 = Back-up bevat controlesommen voor back-ups.
IsDamaged bit 1 = Database is beschadigd tijdens het maken van een back-up, maar de back-upbewerking is aangevraagd om door te gaan ondanks fouten.
BeginsLogChain bit 1 = Dit is de eerste in een continue keten van logboekback-ups. Een logboekketen begint met de eerste logboekback-up die is gemaakt nadat de database is gemaakt of wanneer deze wordt overgeschakeld van simple naar het volledige of Bulk-Logged herstelmodel.
HasIncompleteMetaData bit 1 = Een back-up van tail-log met onvolledige metagegevens.

Zie Tail-Log Back-ups (SQL Server) voor informatie over back-upback-ups met onvolledige back-ups.
IsForceOffline bit 1 = Back-up gemaakt met NORECOVERY; de database is offline gehaald door een back-up.
IsCopyOnly bit 1 = Een back-up met alleen kopiëren.

Een back-up met alleen kopiëren heeft geen invloed op de algehele back-up- en herstelprocedures voor de database. Zie Copy-Only Back-ups (SQL Server)voor meer informatie.
FirstRecoveryForkID uniqueidentifier Id voor de startherstelfork. Deze kolom komt overeen met first_recovery_fork_guid in de back-upsettabel .

Voor gegevensback-ups is FirstRecoveryForkID gelijk aan RecoveryForkID.
ForkPointLSN numeriek(25,0) Als FirstRecoveryForkID dit niet gelijk is aan RecoveryForkID, is deze waarde het logboekvolgordenummer van het forkpunt. Anders is deze waarde NULL.
RecoveryModel nvarchar(60) Herstelmodel voor de database, een van de volgende:

-VOL
- BULK-LOGGED
-EENVOUDIG
DifferentialBaseLSN numeriek(25,0) Voor een afzonderlijke differentiële back-up is de waarde gelijk aan de FirstLSN differentiële basis. Wijzigingen met LSN's groter dan of gelijk aan DifferentialBaseLSN worden opgenomen in het differentiële deel.

Voor een differentieel op meerdere basis is de waarde NULL en moet de basis-LSN worden bepaald op bestandsniveau. Zie RESTORE FILELISTONLY voor meer informatie.

Voor niet-differentiële back-uptypen is de waarde altijd NULL.

Zie Differentiële back-ups (SQL Server)voor meer informatie.
DifferentialBaseGUID uniqueidentifier Voor een differentiële back-up op basis van één basis is de waarde de unieke id van de differentiële basis.

Voor differentiëlen op meerdere basis is de waarde NULL en moet de differentiële basis per bestand worden bepaald.

Voor niet-differentiële back-uptypen is de waarde NULL.
BackupTypeDescription nvarchar(60) Back-uptype als tekenreeks, een van:

-DATABANK
- TRANSACTIELOGBOEK
- BESTAND OF BESTANDSGROEP
- DATABASE DIFFERENTIËLE
- BESTANDSVERSCHIL GEDEELTELIJK
- GEDEELTELIJKE DIFFERENTIËLE
BackupSetGUID uniqueidentifier Uniek identificatienummer van de back-upset, waarmee deze wordt geïdentificeerd op de media. Kan NULL zijn.
CompressedBackupSize bigint Byteaantal van de back-upset. Voor niet-gecomprimeerde back-ups is deze waarde hetzelfde als BackupSize.

Als u de compressieverhouding wilt berekenen, gebruikt CompressedBackupSize u en BackupSize.

Tijdens een msdb upgrade wordt deze waarde ingesteld op overeenstemming met de waarde van de BackupSize kolom.
containment tinyint Van toepassing op: SQL Server 2012 (11.x) en latere versies.

Geeft de insluitingsstatus van de database aan.

0 = database-insluiting is uitgeschakeld
1 = database bevindt zich in gedeeltelijke insluiting
KeyAlgorithm nvarchar(32) Van toepassing op: SQL Server 2014 (12.x) CU 1 en latere versies.

Het versleutelingsalgoritmen dat wordt gebruikt om de back-up te versleutelen. NO_Encryption geeft aan dat de back-up niet is versleuteld. Wanneer de juiste waarde niet kan worden bepaald, moet de waarde NULL zijn.
EncryptorThumbprint varbinary(20) Van toepassing op: SQL Server 2014 (12.x) CU 1 en latere versies.

De vingerafdruk van de versleuteler die kan worden gebruikt om het certificaat of de asymmetrische sleutel in de database te vinden. Wanneer de back-up niet is versleuteld, is deze waarde NULL.
EncryptorType nvarchar(32) Van toepassing op: SQL Server 2014 (12.x) CU 1 en latere versies.

Het type versleuteling dat wordt gebruikt: Certificaat of Asymmetrische sleutel. Wanneer de back-up niet is versleuteld, is deze waarde NULL.
LastValidRestoreTime datum en tijd Van toepassing op: SQL Server 2022 (16.x) en latere versies.

De laatste geldige hersteltijd.
TimeZone nvarchar(32) Van toepassing op: SQL Server 2022 (16.x) en latere versies.

De tijdzone van de server van waaruit de back-up is gemaakt.
CompressionAlgorithm nvarchar(32) Van toepassing op: SQL Server 2022 (16.x) en latere versies.

Identificeert het compressie-algoritme dat wordt gebruikt om het back-upbestand te comprimeren. De standaardwaarde is MS_XPRESS. Zie BACKUP-voor meer informatie.

1 Als wachtwoorden zijn gedefinieerd voor de back-upsets, RESTORE HEADERONLY geeft u volledige informatie weer voor alleen de back-upset waarvan het wachtwoord overeenkomt met de opgegeven PASSWORD optie van de opdracht. RESTORE HEADERONLY geeft ook volledige informatie weer voor niet-beveiligde back-upsets. De BackupName kolom voor de andere met een wachtwoord beveiligde back-upsets op de media is ingesteld 'Password Protected'op en alle andere kolommen zijn NULL.

Opmerkingen

Een client kan gebruiken RESTORE HEADERONLY om alle back-upheadergegevens voor alle back-ups op een bepaald back-upapparaat op te halen. Voor elke back-up op het back-upapparaat verzendt de server de headergegevens als een rij.

RESTORE HEADERONLY bekijkt alle back-upsets op de media. Daarom kan het enige tijd duren voordat u deze resultatenset produceert wanneer u tapestations met een hoge capaciteit gebruikt. Als u snel naar de media wilt kijken zonder informatie over elke back-upset op te halen, gebruikt RESTORE LABELONLY of geeft u deze op FILE = <backup_set_file_number>.

Vanwege de aard van Microsoft Tape Format is het mogelijk dat back-upsets van andere softwareprogramma's ruimte innemen op dezelfde media als SQL Server-back-upsets. De resultatenset die wordt geretourneerd door RESTORE HEADERONLY bevat een rij voor elk van deze andere back-upsets.

Veiligheid

Een back-upbewerking kan eventueel wachtwoorden opgeven voor een mediaset, een back-upset of beide. Wanneer een wachtwoord is gedefinieerd voor een mediaset of back-upset, moet u het juiste wachtwoord of de juiste wachtwoorden opgeven in de instructie RESTORE. Deze wachtwoorden voorkomen niet-geautoriseerde herstelbewerkingen en niet-geautoriseerde toevoegbewerkingen van back-upsets aan media met behulp van SQL Server-hulpprogramma's. Een wachtwoord voorkomt echter niet dat media worden overschreven met behulp van de optie FORMAT van de BACKUP-instructie.

Belangrijk

De beveiliging die door dit wachtwoord wordt geboden, is zwak. Het is bedoeld om een onjuiste herstelbewerking te voorkomen met behulp van SQL Server-hulpprogramma's door geautoriseerde of niet-geautoriseerde gebruikers. Het voorkomt niet dat de back-upgegevens op een andere wijze worden gelezen of dat het wachtwoord wordt vervangen. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. De aanbevolen procedure voor het beveiligen van back-ups is het opslaan van back-uptapes op een veilige locatie of een back-up maken van schijfbestanden die worden beveiligd door adequate toegangsbeheerlijsten (ACL's). De ACL's moeten worden ingesteld in de hoofdmap van de map waarin back-ups worden gemaakt.

Machtigingen

Voor het verkrijgen van informatie over een back-upset of back-upapparaat is een CREATE DATABASE-machtiging vereist. Zie Databasemachtigingen verlenen (Transact-SQL)voor meer informatie.

Voorbeelden

In het volgende voorbeeld wordt de informatie in de header voor het schijfbestand C:\AdventureWorks-FullBackup.bakgeretourneerd.

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

Zie ook