Udostępnij za pomocą


Instrukcje RESTORE — VERIFYONLY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Weryfikuje kopię zapasową, ale nie przywraca jej i sprawdza, czy zestaw kopii zapasowych został ukończony, a cała kopia zapasowa jest czytelna. Jednak funkcja RESTORE VERIFYONLY nie próbuje zweryfikować struktury danych zawartych w woluminach kopii zapasowych. W programie Microsoft SQL Server funkcja RESTORE VERIFYONLY została rozszerzona o dodatkowe sprawdzanie danych w celu zwiększenia prawdopodobieństwa wykrycia błędów. Celem jest, aby być tak blisko rzeczywistej operacji przywracania, jak praktyczne. Aby uzyskać więcej informacji, zobacz uwagi.

Jeśli kopia zapasowa jest prawidłowa, aparat bazy danych programu SQL Server zwraca komunikat o powodzeniu.

Uwaga / Notatka

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

Transact-SQL konwencje składni

Składnia

RESTORE VERIFYONLY  
FROM <backup_device> [ ,...n ]  
[ WITH    
 {  
   LOADHISTORY   
  
--Restore Operation Option  
 | MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'   
          [ ,...n ]   
  
--Backup Set Options  
 | FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_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 }  
  
--Monitoring Options  
 | STATS [ = percentage ]   
  
--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

Adres URL to format używany do określania lokalizacji i nazwy pliku usługi Microsoft Azure Blob Storage i jest obsługiwany od programu SQL Server 2012 (11.x) z dodatkiem SP1 CU2. Mimo że usługa Microsoft 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 RESTORE VERIFYONLY można znaleźć w temacie RESTORE Arguments (Transact-SQL).

Uwagi ogólne

Zestaw nośników lub zestaw kopii zapasowych musi zawierać minimalne poprawne informacje, aby umożliwić ich interpretowanie jako format taśmy firmy Microsoft. Jeśli tak nie jest, funkcja RESTORE VERIFYONLY zatrzymuje się i wskazuje, że format kopii zapasowej jest nieprawidłowy.

Testy wykonywane przez OPERACJĘ RESTORE VERIFYONLY obejmują:

  • Zestaw kopii zapasowych jest kompletny i wszystkie woluminy można odczytać.

  • Niektóre pola nagłówka stron bazy danych, takie jak identyfikator strony (jakby miały one być zapisywane dane).

  • Suma kontrolna (jeśli jest obecna na nośniku).

  • Sprawdzanie wystarczającej ilości miejsca na urządzeniach docelowych.

Uwaga / Notatka

FUNKCJA RESTORE VERIFYONLY nie działa na migawki bazy danych. Aby zweryfikować migawkę bazy danych przed operacją przywracania, możesz uruchomić polecenie DBCC CHECKDB.

Uwaga / Notatka

W przypadku kopii zapasowych migawek funkcja RESTORE VERIFYONLY potwierdza istnienie migawek w lokalizacjach określonych w pliku kopii zapasowej. Kopie zapasowe migawek to nowa funkcja w programie SQL Server 2016 (13.x). Aby uzyskać więcej informacji na temat kopii zapasowych migawek, zobacz File-Snapshot Kopie zapasowe plików bazy danych na platformie Azure.

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

Począwszy od programu SQL Server 2008 (10.0.x), 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 weryfikuje kopię zapasową z dysku.

RESTORE VERIFYONLY FROM DISK = 'D:\AdventureWorks.bak';
GO

Zobacz też

KOPIA ZAPASOWA (Transact-SQL)
zestawy multimediów , rodziny multimediów i zestawy kopii zapasowych (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
PRZYWRÓĆ (Transact-SQL)
Historia Kopii Zapasowej i Informacje Nagłówkowe (SQL Server)