RESTORE Утверждения - VERIFYONLY (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Если резервная копия допустима, ядро СУБД SQL Server возвращает сообщение об успешном выполнении.

Примечание.

Для описания аргументов см. 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 копий snapshot подтверждается наличие снимков в местах, указанных в файле резервного копирования. Резервное копирование путем моментальных снимков — это новая функция в SQL Server 2016 (13.x). Дополнительные сведения о резервном копировании путем создания моментального снимка см. в статье Резервные копии моментальных снимков файлов для файлов базы данных в Azure.

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

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

Внимание

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

Разрешения

Начиная с SQL Server 2008 (10.0.x), получение информации о резервном наборе или резервном устройстве требует CREATE DATABASE разрешения. Дополнительные сведения см. в разделе GRANT "Разрешения базы данных" (Transact-SQL).

Примеры

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

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