Udostępnij za pomocą


Instrukcje RESTORE — HEADERONLY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Zwraca zestaw wyników zawierający wszystkie informacje nagłówka kopii zapasowej dla wszystkich zestawów kopii zapasowych na określonym urządzeniu kopii zapasowej w programie SQL Server.

Uwaga / Notatka

Opisy argumentów można znaleźć w temacie RESTORE Arguments (Transact-SQL).

Transact-SQL konwencje składni

Składnia

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

Uwaga / Notatka

URL to format używany do określania lokalizacji i nazwy pliku dla usługi Azure Blob Storage i jest obsługiwany od programu SQL Server 2012 (11.x) z dodatkiem SP 1 CU 2. Chociaż usługa Azure Storage jest usługą, implementacja jest podobna do dysków i taśm, aby zapewnić spójne i bezproblemowe środowisko przywracania dla wszystkich trzech urządzeń.

Argumenty (w programowaniu)

Opisy argumentów można znaleźć w RESTORE HEADERONLYtemacie RESTORE Arguments (Transact-SQL).

Zestawy wyników

Dla każdej kopii zapasowej na danym urządzeniu serwer wysyła wiersz informacji nagłówka z następującymi kolumnami:

Nazwa kolumny Typ danych Opis zestawów kopii zapasowych programu SQL Server
BackupName 1 nvarchar(128) Nazwa zestawu kopii zapasowych.
BackupDescription nvarchar(255) Opis zestawu kopii zapasowych. Może mieć wartość NULL.
BackupType smallint Typ kopii zapasowej:

1 = Baza danych
2 = Dziennik transakcji
4 = plik
5 = różnicowa baza danych
6 = plik różnicowy
7 = częściowe
8 = częściowe różnicowe
ExpirationDate data/godzina Data wygaśnięcia zestawu kopii zapasowych.
Compressed bit Czy zestaw kopii zapasowych jest kompresowany przy użyciu kompresji opartej na oprogramowaniu:

0 = nie
1 = Tak
Position smallint Pozycja zestawu kopii zapasowych w woluminie (do użycia z opcją FILE = ).
DeviceType tinyint Numer odpowiadający urządzeniu używanemu do operacji tworzenia kopii zapasowej.

Dysk:

- 2 = logiczne
- 102 = fizyczny

Taśma:

- 5 = logiczne
- 105 = fizyczny

Urządzenie wirtualne:

- 7 = logiczne
- 107 = fizyczny

Adres URL:

- 9 = logiczne
- 109 = fizyczny

Nazwy urządzeń logicznych i numery urządzeń znajdują się w elemecie sys.backup_devices. Aby uzyskać więcej informacji, zobacz sys.backup_devices.
UserName nvarchar(128) Nazwa użytkownika, która wykonała operację tworzenia kopii zapasowej.
ServerName nvarchar(128) Nazwa serwera, który napisał zestaw kopii zapasowych.
DatabaseName nvarchar(128) Nazwa bazy danych, dla którego utworzono kopię zapasową.
DatabaseVersion Int Wersja bazy danych, z której utworzono kopię zapasową.
DatabaseCreationDate data/godzina Data i godzina utworzenia bazy danych.
BackupSize numeryczne(20,0) Rozmiar kopii zapasowej w bajtach.
FirstLSN liczbowe (25 0) Numer sekwencji dziennika pierwszego rekordu dziennika w zestawie kopii zapasowych.
LastLSN liczbowe (25 0) Numer sekwencji dziennika następnego rekordu dziennika po zestawie kopii zapasowych.
CheckpointLSN liczbowe (25 0) Numer sekwencji dziennika ostatniego punktu kontrolnego podczas tworzenia kopii zapasowej.
DatabaseBackupLSN liczbowe (25 0) Numer sekwencji dziennika logu najnowszej pełnej kopii zapasowej bazy danych.

DatabaseBackupLSN to "początek punktu kontrolnego", który jest wyzwalany po uruchomieniu kopii zapasowej. Ta nazwa LSN pokrywa się z FirstLSN tym, czy kopia zapasowa jest wykonywana, gdy baza danych jest bezczynna i nie jest skonfigurowana żadna replikacja.
BackupStartDate data/godzina Data i godzina rozpoczęcia operacji tworzenia kopii zapasowej.
BackupFinishDate data/godzina Data i godzina zakończenia operacji tworzenia kopii zapasowej.
SortOrder smallint Kolejność sortowania serwera. Ta kolumna jest prawidłowa tylko dla kopii zapasowych bazy danych. Zapewniana zgodność z poprzednimi wersjami.
CodePage smallint Strona kodowa serwera lub zestaw znaków używany przez serwer.
UnicodeLocaleId Int Opcja konfiguracji identyfikatora ustawień regionalnych Unicode serwera używana do sortowania danych znaków Unicode. Zapewniana zgodność z poprzednimi wersjami.
UnicodeComparisonStyle Int Opcja konfiguracji stylu porównania Unicode serwera, która zapewnia dodatkową kontrolę nad sortowaniem danych Unicode. Zapewniana zgodność z poprzednimi wersjami.
CompatibilityLevel tinyint Ustawienie poziomu zgodności bazy danych, z której utworzono kopię zapasową.
SoftwareVendorId Int Numer identyfikacyjny dostawcy oprogramowania. W przypadku programu SQL Server ta liczba to 4608 (lub szesnastkowa 0x1200).
SoftwareVersionMajor Int Numer wersji głównej serwera, który utworzył zestaw kopii zapasowych.
SoftwareVersionMinor Int Numer wersji pomocniczej serwera, który utworzył zestaw kopii zapasowych.
SoftwareVersionBuild Int Numer kompilacji serwera, który utworzył zestaw kopii zapasowych.
MachineName nvarchar(128) Nazwa komputera, który wykonał operację tworzenia kopii zapasowej.
Flags Int Znaczenie bitów poszczególnych flag:

- 1 = Kopia zapasowa dziennika zawiera operacje rejestrowane zbiorczo.

- 2 = Kopia zapasowa migawki.

- 4 = Baza danych była tylko do odczytu podczas tworzenia kopii zapasowej.

- 8 = Baza danych była w trybie pojedynczego użytkownika podczas tworzenia kopii zapasowej.

- 16 = Kopia zapasowa zawiera sumy kontrolne kopii zapasowej.

- 32 = Baza danych została uszkodzona podczas tworzenia kopii zapasowej, ale operacja tworzenia kopii zapasowej została zażądana, aby kontynuować pomimo błędów.

- 64 = Kopia zapasowa dziennika tail.

- 128 = Kopia zapasowa dziennika tail z niekompletnymi metadanymi.

- 256 = Kopia zapasowa dziennika tail z NORECOVERY.

Ważny: Zalecamy, aby zamiast Flags używać poszczególnych kolumn logicznych (począwszy od HasBulkLoggedData i kończących się IsCopyOnly na tej tabeli).
BindingID unikalnyidentyfikator Identyfikator powiązania dla bazy danych. Ta wartość odpowiada database_guid wartości w pliku sys.database_recovery_status. Po przywróceniu bazy danych zostanie przypisana nowa wartość. Zobacz również FamilyGUID.
RecoveryForkID unikalnyidentyfikator Identyfikator końcowego rozwidlenia odzyskiwania. Ta kolumna odpowiada last_recovery_fork_guid w tabeli zestawu kopii zapasowych .

W przypadku kopii zapasowych RecoveryForkID danych równa się FirstRecoveryForkID.
Collation nvarchar(128) Sortowanie używane przez bazę danych.
FamilyGUID unikalnyidentyfikator Identyfikator oryginalnej bazy danych podczas tworzenia. Ta wartość pozostaje taka sama, gdy baza danych zostanie przywrócona.
HasBulkLoggedData bit 1 = Kopia zapasowa dziennika zawierająca operacje rejestrowane zbiorczo.
IsSnapshot bit 1 = Kopia zapasowa migawki.
IsReadOnly bit 1 = Baza danych była tylko do odczytu podczas tworzenia kopii zapasowej.
IsSingleUser bit 1 = Baza danych była pojedynczym użytkownikiem podczas tworzenia kopii zapasowej.
HasBackupChecksums bit 1 = Kopia zapasowa zawiera sumy kontrolne kopii zapasowej.
IsDamaged bit 1 = Baza danych została uszkodzona podczas tworzenia kopii zapasowej, ale operacja tworzenia kopii zapasowej została zażądana, aby kontynuować pomimo błędów.
BeginsLogChain bit 1 = Jest to pierwszy w ciągłym łańcuchu kopii zapasowych dzienników. Łańcuch dzienników rozpoczyna się od pierwszej kopii zapasowej dziennika wykonanej po utworzeniu bazy danych lub przełączeniu jej z prostego na pełny lub Bulk-Logged modelu odzyskiwania.
HasIncompleteMetaData bit 1 = kopia zapasowa dziennika końcowego z niekompletnymi metadanymi.

Aby uzyskać informacje o kopiach zapasowych dziennika tail-log z niekompletnymi metadanymi kopii zapasowych, zobacz Tail-Log Backups (SQL Server).
IsForceOffline bit 1 = Kopia zapasowa wykonana z NORECOVERY; baza danych została przełączona w tryb offline przez kopię zapasową.
IsCopyOnly bit 1 = kopia zapasowa tylko do kopiowania.

Kopia zapasowa tylko do kopiowania nie ma wpływu na ogólne procedury tworzenia i przywracania kopii zapasowej bazy danych. Aby uzyskać więcej informacji, zobacz Copy-Only Backups (SQL Server).
FirstRecoveryForkID unikalnyidentyfikator Identyfikator początkowego rozwidlenia odzyskiwania. Ta kolumna odpowiada first_recovery_fork_guid w tabeli zestawu kopii zapasowych .

W przypadku kopii zapasowych FirstRecoveryForkID danych równa się RecoveryForkID.
ForkPointLSN liczbowe (25 0) Jeśli FirstRecoveryForkID wartość nie jest równa RecoveryForkID, ta wartość jest numerem sekwencji dziennika punktu rozwidlenia. W przeciwnym razie ta wartość ma wartość NULL.
RecoveryModel nvarchar(60) Model odzyskiwania bazy danych, jeden z następujących elementów:

-PEŁNY
- BULK-LOGGED
-PROSTY
DifferentialBaseLSN liczbowe (25 0) W przypadku pojedynczej różnicowej kopii zapasowej wartość jest równa FirstLSN różnicowej bazie. Zmiany w sieci LSN większe lub równe DifferentialBaseLSN są uwzględnione w różnicowym.

W przypadku różnicowej opartej na wielu bazach wartość ma wartość NULL, a podstawowa nazwa LSN musi być określana na poziomie pliku. Aby uzyskać więcej informacji, zobacz PRZYWRACANIE PLIKULISTONLY.

W przypadku typów kopii zapasowych innych niż różnicowe wartość ma zawsze wartość NULL.

Aby uzyskać więcej informacji, zobacz Kopie zapasowe różnicowe (SQL Server).
DifferentialBaseGUID unikalnyidentyfikator W przypadku pojedynczej różnicowej kopii zapasowej wartość jest unikatowym identyfikatorem różnicowej bazy.

W przypadku różnicowych opartych na wielu bazach wartość ma wartość NULL, a baza różnicowa musi być określona dla każdego pliku.

W przypadku typów kopii zapasowych innych niż różnicowe wartość ma wartość NULL.
BackupTypeDescription nvarchar(60) Typ kopii zapasowej jako ciąg, jeden z:

-BAZA DANYCH
- DZIENNIK TRANSAKCJI
- PLIK LUB GRUPA PLIKÓW
- RÓŻNICOWA BAZA DANYCH
- CZĘŚCIOWE RÓŻNICOWE PLIKI
- CZĘŚCIOWA RÓŻNICOWA
BackupSetGUID unikalnyidentyfikator Unikatowy numer identyfikacyjny zestawu kopii zapasowych, za pomocą którego jest identyfikowany na nośniku. Może mieć wartość NULL.
CompressedBackupSize Bigint powiedział: Liczba bajtów zestawu kopii zapasowych. W przypadku nieskompresowanych kopii zapasowych ta wartość jest taka sama jak BackupSize.

Aby obliczyć współczynnik kompresji, użyj wartości CompressedBackupSize i BackupSize.

Podczas uaktualniania msdb ta wartość jest ustawiona tak, aby odpowiadała wartości kolumny BackupSize .
containment tinyint Dotyczy: SQL Server 2012 (11.x) i nowsze wersje.

Wskazuje stan zawierania bazy danych.

0 = zawieranie bazy danych jest wyłączone
1 = baza danych znajduje się w częściowym zawieraniu
KeyAlgorithm nvarchar(32) Dotyczy: SQL Server 2014 (12.x) CU 1 i nowsze wersje.

Algorytm szyfrowania używany do szyfrowania kopii zapasowej. NO_Encryption wskazuje, że kopia zapasowa nie została zaszyfrowana. Gdy nie można określić prawidłowej wartości, wartość powinna mieć wartość NULL.
EncryptorThumbprint varbinary(20) Dotyczy: SQL Server 2014 (12.x) CU 1 i nowsze wersje.

Odcisk palca szyfrora, który może służyć do znajdowania certyfikatu lub klucza asymetrycznego w bazie danych. Gdy kopia zapasowa nie została zaszyfrowana, ta wartość ma wartość NULL.
EncryptorType nvarchar(32) Dotyczy: SQL Server 2014 (12.x) CU 1 i nowsze wersje.

Używany typ szyfrowania: certyfikat lub klucz asymetryczny. Gdy kopia zapasowa nie została zaszyfrowana, ta wartość ma wartość NULL.
LastValidRestoreTime data/godzina Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Ostatni prawidłowy czas przywracania.
TimeZone nvarchar(32) Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Strefa czasowa serwera, z którego utworzono kopię zapasową.
CompressionAlgorithm nvarchar(32) Dotyczy: SQL Server 2022 (16.x) i nowsze wersje.

Identyfikuje algorytm kompresji używany do kompresowania pliku kopii zapasowej. Wartość domyślna to MS_XPRESS. Aby uzyskać więcej informacji, zobacz BACKUP.

1 Jeśli hasła są zdefiniowane dla zestawów kopii zapasowych, pokazuje pełne informacje tylko dla zestawu kopii zapasowych, RESTORE HEADERONLY którego hasło pasuje do określonej PASSWORD opcji polecenia. RESTORE HEADERONLY Zawiera również pełne informacje dotyczące niechronionych zestawów kopii zapasowych. Kolumna BackupName dla innych zestawów kopii zapasowych chronionych hasłem na nośniku jest ustawiona na 'Password Protected'wartość , a wszystkie inne kolumny mają wartość NULL.

Uwagi

Klient może użyć RESTORE HEADERONLY polecenia , aby pobrać wszystkie informacje nagłówka kopii zapasowej dla wszystkich kopii zapasowych na określonym urządzeniu kopii zapasowej. Dla każdej kopii zapasowej na urządzeniu kopii zapasowej serwer wysyła informacje nagłówka jako wiersz.

RESTORE HEADERONLY sprawdza wszystkie zestawy kopii zapasowych na nośniku. W związku z tym tworzenie tego zestawu wyników w przypadku używania stacji taśm o dużej pojemności może zająć trochę czasu. Aby szybko przyjrzeć się nośnikowi bez uzyskiwania informacji o każdym zestawie kopii zapasowych, użyj RESTORE LABELONLY lub określ .FILE = <backup_set_file_number>

Ze względu na charakter formatu taśm firmy Microsoft zestawy kopii zapasowych z innych programów programowych mogą zajmować miejsce na tym samym nośniku co zestawy kopii zapasowych programu SQL Server. Zestaw wyników zwracany przez program RESTORE HEADERONLY zawiera wiersz dla każdego z tych innych zestawów kopii zapasowych.

Bezpieczeństwo

Operacja tworzenia kopii zapasowej może opcjonalnie określać hasła dla zestawu multimediów, zestawu kopii zapasowych lub obu tych elementów. Jeśli hasło zostało zdefiniowane w zestawie nośników lub zestawie kopii zapasowych, należy określić poprawne hasło lub hasła w instrukcji RESTORE. Te hasła uniemożliwiają nieautoryzowane operacje przywracania i nieautoryzowane dołączanie zestawów kopii zapasowych do nośnika przy użyciu narzędzi programu SQL Server. Jednak hasło nie zapobiega zastępowaniu multimediów przy użyciu opcji FORMAT instrukcji BACKUP.

Ważne

Ochrona zapewniana przez to hasło jest słaba. Ma to na celu zapobieganie nieprawidłowemu przywracaniu przy użyciu narzędzi programu SQL Server przez autoryzowanych lub nieautoryzowanych użytkowników. Nie uniemożliwia odczytywania danych kopii zapasowej za pomocą innych środków ani zastępowania hasła. Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Najlepszym rozwiązaniem w zakresie ochrony kopii zapasowych jest przechowywanie taśm kopii zapasowych w bezpiecznej lokalizacji lub tworzenie kopii zapasowych plików dysków chronionych przez odpowiednie listy kontroli dostępu (ACL). Listy ACL powinny być ustawione w katalogu głównym, w którym są tworzone kopie zapasowe.

Uprawnienia

Uzyskanie informacji o zestawie kopii zapasowych lub urządzeniu kopii zapasowej wymaga uprawnienia CREATE DATABASE. Aby uzyskać więcej informacji, zobacz GRANT Database Permissions (Transact-SQL).

Przykłady

Poniższy przykład zwraca informacje w nagłówku pliku C:\AdventureWorks-FullBackup.bakdysku .

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

Zobacz także