Действия при ошибках восстановления SQL Server, вызванных повреждением резервных копий
Изменения: 17 июля 2006 г.
Ошибки восстановления возникают при повреждении носителя резервной копии. Ошибки восстановления могут быть сформированы операционной системой или выявлены при подсчете контрольных сумм. В любом из этих случаев есть три варианта действий:
- исправить ошибку и перезапустить операцию восстановления;
- продолжить восстановление, несмотря на ошибки, и восстановить базу данных после его завершения;
- отменить операцию восстановления и воспользоваться другим планом восстановления, в котором поврежденная резервная копия не участвует.
Примечание. |
---|
Набор носителей или резервный набор данных должен содержать минимальные корректирующие данные, чтобы интерпретироваться как формат Microsoft Tape Format. Иначе инструкция RESTORE прекращает работу и сообщает, что резервная копия имеет недопустимый формат. |
Исправление ошибки и перезапуск восстановления
Ошибки могут быть исправлены разными способами:
- если ошибка возникла на накопителе на магнитной ленте, можно почистить или заменить считыватель;
- для дисковых устройств можно проверить устройство на ошибки и заменить поврежденный файл;
- если набор носителей участвует в зеркальном отображении, можно заменить поврежденный носитель соответствующим носителем с зеркального сервера.
Продолжение после обнаружения ошибки
Внимание! |
---|
Определение параметра WITH CONTINUE_AFTER_ERROR инструкции RESTORE дает возможность восстановить базу данных. Однако существует множество видов повреждений, которые могут не позволить восстановить базу данных. Рекомендуется использовать параметр CONTINUE_AFTER_ERROR только в том случае, когда все остальные методы не дали результата. |
Параметр CONTINUE_AFTER_ERROR позволяет продолжить операцию восстановления после обнаружения ошибки, чтобы восстановить все, что можно. Происходит накат и появляется возможность использования последовательных резервных копий журнала транзакций. Если при накате обнаружена ошибка, препятствующая достижению заданного момента времени, это отражается в журнале. Если это возможно, то в точке восстановления база данных переводится в оперативный режим. Но если восстановление не может быть завершено, то база данных остается в автономном режиме.
Размеры потерь данных зависят от произошедшей ошибки. Например, неверная контрольная сумма на странице вызывает вопросы только к этой странице. Чтение и обработка данных при этом продолжается. В то же время, ошибка ввода-вывода, о которой сообщает накопитель на магнитной ленте, может привести к прекращению операции чтения, и тогда восстановление с оставшейся части ленты не производится.
Если продолжать восстановление после ошибок, страницы, которые не прошли проверку, сохраняются на диске и отражаются в таблице suspect_pages и в журнале ошибок.
Рекомендации После использования при восстановлении данных параметра WITH CONTINUE_AFTER_ERROR изучите описания ошибок в журналах ошибок. Также следует сохранить и проанализировать все сообщения, которые выдает инструкция RESTORE.
Продолжение работы, несмотря на ошибки
- Базовый синтаксис RESTORE:
- RESTORE DATABASE database_name FROM устройство_резервного_копирования WITH CONTINUE_AFTER_ERROR, [ NORECOVERY ]
Управление базой данных в автономном режиме
По окончании последовательности восстановления с пропуском ошибок, может появиться возможность восстановить базу данных с помощью инструкции DBCC CHECKDB. Чтобы гарантировать наибольшую согласованность, после восстановления с параметром RESTORE CONTINUE_AFTER_ERROR рекомендуется выполнять инструкцию DBCC CHECKDB с параметром WITH TABLOCK. Дополнительные сведения см. в разделе DBCC CHECKDB (Transact-SQL). Доступны все параметры восстановления. Для определения минимального необходимого уровня восстановления запустите инструкцию DBCC CHECKDB, не указывая параметры восстановления. Но имейте в виду, что в особо тяжелых случаях данных для восстановления может оказаться недостаточно.
Для получения ограниченного доступа к данным «как есть» можно с помощью параметра EMERGENCY команды ALTER DATABASE переключить базу данных в аварийный режим.
См. также
Основные понятия
Основные сведения о таблице suspect_pages и управлении ею
Другие ресурсы
ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
17 июля 2006 г. |
|