Инструкции RESTORE — VERIFYONLY (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server Управляемый экземпляр SQL Azure Azure Synapse Analytics Parallel Data Warehouse

Проверяет, но не восстанавливает резервную копию, а также проверяет полноту резервного набора данных и возможность его считывания. Однако инструкция RESTORE VERIFYONLY не проверяет структуру данных, содержащихся в томах резервной копии. В Microsoft SQL Server инструкция RESTORE VERIFYONLY была расширена с целью проведения дополнительной проверки данных для увеличения вероятности обнаружения ошибок. Цель — приблизиться к настоящей операции восстановления, насколько это возможно. Дополнительные сведения см. в разделе «Примечания».

Если резервная копия достоверна, то компонент Компонент SQL Server Database Engine возвращает сообщение об успешном выполнении.

Примечание

Описания аргументов см. в разделе Аргументы инструкции RESTORE (Transact-SQL).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

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

Примечание

URL-адрес — это формат, который используется для указания расположения и имени файла для хранилища BLOB-объектов Microsoft Azure и поддерживается начиная с SQL Server 2012 (11.x) SP1 CU2. Хотя хранилище Microsoft Azure является службой, реализация аналогична дисковому и ленточному хранилищу, чтобы обеспечить единообразное и эффективное восстановление для всех трех устройств.

Аргументы

Описания аргументов инструкции RESTORE VERIFYONLY см. в разделе Аргументы инструкции RESTORE (Transact-SQL).

Общие замечания

Набор носителей или резервный набор данных должен содержать минимально верные данные, чтобы интерпретироваться как формат Microsoft Tape Format. В противном случае инструкция RESTORE VERIFYONLY прекращает выполнение и показывает, что формат резервной копии недопустим.

Проверки, выполняемые инструкцией RESTORE VERIFYONLY, включают:

  • Проверку полноты резервного набора данных и доступности для чтения всех томов.

  • Некоторые поля заголовков страниц базы данных, например идентификатор страницы (как если бы инструкция записывала данные).

  • Контрольную сумму (если она имеется на носителе).

  • Проверку свободного места на целевых устройствах.

Примечание

Инструкция RESTORE VERIFYONLY не применяется в отношении моментальных снимков базы данных. Проверка моментального снимка базы данных перед операцией восстановления до предыдущего состояния выполняется с помощью инструкции DBCC CHECKDB.

Примечание

С помощью резервного копирования путем моментальных снимков RESTORE VERIFYONLY подтверждает наличие моментальных снимков в расположениях, указанных в файле резервной копии. Резервное копирование путем моментальных снимков — это новая функция в SQL Server 2016 (13.x);. Дополнительные сведения о резервном копировании путем создания моментального снимка см. в статье Резервные копии моментальных снимков файлов для файлов базы данных в Azure.

Безопасность

В операции создания резервной копии могут дополнительно указываться пароли для набора носителей, резервного набора данных или и того и другого. Если для набора носителей или резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать правильные пароли. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств SQL Server. Однако пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.

Важно!

Данный пароль не обеспечивает надежную защиту. Он предназначен для предотвращения неверного восстановления при использовании средств SQL Server авторизованными или неавторизованными пользователями. При этом остается возможным чтение данных резервных копий с помощью других средств или замена пароля. В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Рекомендуемым способом защиты резервных копий является хранение лент с резервными копиями в безопасном месте или создание резервных копий на диске в виде файлов, защищенных соответствующими списками управления доступом (ACL). Списки ACL должны располагаться в корневом каталоге, в котором создаются резервные копии.

Разрешения

В SQL Server 2008 и более поздних версиях, чтобы получить сведения о резервном наборе данных или устройстве резервного копирования, необходимо разрешение CREATE DATABASE. Дополнительные сведения см. в разделе GRANT, предоставление разрешений для базы данных (Transact-SQL).

Примеры

В следующем примере проверяется резервное копирование с диска.

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

См. также:

BACKUP (Transact-SQL)
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
RESTORE (Transact-SQL)
Журнал и сведения о заголовке резервной копии (SQL Server)