Восстановление базы данных MS SQL с помощью команды NORECOVERY
Опытный администратор баз данных знает о важности регулярного резервного копирования резервных копий SQL. Эти резервные копии становятся полезными в катастрофических ситуациях, когда вы потеряли всю базу данных, но исправная резервная копия базы данных может восстановить все это содержимое базы данных вместе с таблицами, отношениями, зависимостями, ключами, процедурами, триггерами и т. д.
Резервная копия базы данных SQL необходима в следующих ситуациях.
- При случайном удалении
- При сбое хранилища
- В ситуации стихийного бедствия
- Сектор жесткого диска, содержащий файл базы данных SQL, поврежден
- При аппаратных сбоях
- Потеря данных при зеркальном отображении базы данных, архивировании и т. д.
Процесс восстановления включает в себя копирование данных из файлов резервных копий и переназначение зарегистрированных транзакций данным в режиме переадресации, пока они не достигнут точки восстановления. Точка восстановления — это согласованное состояние базы данных до того, как она потеряла сохраненные таблицы.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
В MS SQL Server вы можете провести процесс восстановления двумя способами:
RECOVERY и NORECOVERY — это две команды SQL, которые завершают восстановление базы данных. Обе эти команды работают с резервными копиями SQL, но команда RECOVERY использует части REDO и UNDO. Принимая во внимание, что команда NORECOVERY не требует части UNDO и завершает процесс. Прежде чем начать восстановление, вы должны изучить оба метода, чтобы лучше восстановить базу данных.
Восстановить с помощью RECOVERY.
Процедура RECOVERY является вариантом по умолчанию для восстановления базы данных из резервной копии. Это требует действий REDO и UNDO во время восстановления.
ПЕРЕДЕЛАТЬ.
Функция REDO применяет зарегистрированную транзакцию к данным из файла резервной копии, а затем пересылает ее в базу данных до достижения точки восстановления.
ОТМЕНИТЬ.
Функции UNDO работают противоположно REDO, они откатывают незафиксированные транзакции и делают базу данных доступной для пользователей.
Примечание: Для процесса восстановления WITH RECOVERY функция UNDO требуется только в том случае, если функция REDO не может быть согласована с базой данных. В противном случае процесс восстановления останавливается, если база данных приведена в соответствие с функцией REDO.
Восстановление с помощью NORECOVERY.
NORECOVERY — лучший метод восстановления, который помогает администратору восстанавливать базу данных из нескольких файлов резервных копий. При выполнении метода NORECOVERY база данных остается в состоянии «восстановления», что означает, что она останется недоступной для использования, и пользователь не сможет выполнять в ней запросы. Это помогает администратору завершить полное восстановление и получить полную информацию.
Вы можете завершить процесс восстановления с помощью NORECOVERY с помощью нескольких команд T-SQL, которые вам нужно запускать по-разному в соответствии с вашими требованиями.
Пример – 1
ВОССТАНОВИТЬ БАЗУ ДАННЫХ FinanceDepartment FROM DISK = ‘E:\FinanceDeparment.BAK’
БЕЗ ВОССТАНОВЛЕНИЯ
ИДТИ
ВОССТАНОВИТЬ ЖУРНАЛ Финансового отдела с диска = ‘E:\FinanceDepartment.TRN’
С ВОССТАНОВЛЕНИЕМ
Идти
Первая команда восстановления базы данных FinanceDepartment переведет базу данных в состояние восстановления только после ее восстановления и разрешения дополнительных резервных копий. Вторая команда восстановит ту же базу данных с помощью журналов транзакций.
Пример – 2
Во втором примере вы увидите гибкость команды NORECOVERY для одновременного запуска нескольких дополнительных резервных копий и журнала транзакций как с NORECOVERY, так и с RECOVERY.
ВОССТАНОВИТЬ БАЗУ ДАННЫХ FinanceDepartment FROM DISK = ‘E:\FinanceDepartment.BAK’
БЕЗ ВОССТАНОВЛЕНИЯ
ИДТИ
ВОССТАНОВИТЬ ЖУРНАЛ Финансового отдела с диска = ‘E:\FinanceDepartment.TRN’
БЕЗ ВОССТАНОВЛЕНИЯ
Идти
ВОССТАНОВИТЬ ЖУРНАЛ Финансового отдела с диска = ‘E:\FinanceDepartment.TRN’
С ВОССТАНОВЛЕНИЕМ
ИДТИ
После завершения восстановления вам необходимо снова перевести базу данных в оперативный режим, и вы можете сделать это, легко запустив процесс ВОССТАНОВЛЕНИЕ.
ВОССТАНОВЛЕНИЕ БАЗ ДАННЫХ Финансовый отдел С ВОССТАНОВЛЕНИЕМ
ИДТИ
Команда снова переводит базу данных в оперативный режим из состояния восстановления.
Администраторы SQL также могут использовать Microsoft SQL Server Management Studio для восстановления базы данных с помощью команды NORECOVERY.
Выберите параметр «Базы данных», щелкните его правой кнопкой мыши и выберите параметр «Восстановить базу данных». Затем нажмите «Параметры» на левой панели на странице «Восстановить базу данных», выберите «Восстановить с параметром NORECOVERY» и нажмите «ОК».
Ограничения восстановления по умолчанию WITH RECOVERY
Как мы упоминали ранее, WITH RECOVERY является настройкой по умолчанию, заданной в SQL Server. Таким образом, для восстановления базы данных требуется только одна команда.
ВОССТАНОВИТЬ БАЗУ ДАННЫХ FinanceDepartment FROM DISK = ‘E:\FinanceDepartment.BAK’
С ВОССТАНОВЛЕНИЕМ
ИДТИ
Различия между параметрами RECOVERY и NORECOVERY
- Recovery и NoRecovery для обоих этих вариантов требуется резервная копия базы данных SQL. Recovery и NoRecovery — это две части команды во время восстановления базы данных.
- Параметр «Восстановление» поможет, если у вас есть одна резервная копия и если вы хотите выполнить восстановление напрямую. Этот процесс восстановления по умолчанию включает в себя как отмену, так и повтор, и восстановление избыточной резервной копии не допускается. Опция RECOVERY переводит базу данных в рабочее состояние.
- NORECOVERY ускоряет процесс, чтобы можно было выполнить следующее действие. Если у вас есть разные типы резервных копий (дифференциальные, транзакционные и т. д.), вариант NORECOVERY должен быть подходящим выбором.
Что нужно помнить перед началом реставрации
Прежде чем начать процесс восстановления с помощью опции WITH RECOVERY или NORECOVERY, вам необходимо обратить внимание на некоторые моменты, влияющие на качество восстановления.
- Если вы хотите использовать процесс NORECOVERY, вы должны знать, что он поместит базу данных в состояние восстановления и больше не будет доступна для использования. Итак, вы должны планировать это заранее.
- В зависимости от серьезности повреждения базы данных вы должны спланировать, требуется ли вам полное или частичное резервное копирование.
- Для базы данных большого размера нелегко настроить восстановленные данные, и это может создать дополнительные проблемы. Таким образом, вы можете либо увеличить размер хранилища, либо сохранить восстановленные данные в автономной папке.
Заключение
Оба процесса ручного восстановления обеспечивают лишь ограниченную функциональность для восстановления базы данных большого размера. Они могут воспользоваться помощью файлов резервных копий только в том случае, если повреждение не является серьезным, и если вся база данных повреждена, вам не следует использовать эти процессы. Только профессиональное программное обеспечение для восстановления SQL может справиться с глубокими повреждениями и восстановить всю базу данных. Преимущество использования профессионального программного обеспечения заключается в том, что оно может предоставить вам возможность восстановить выбранные таблицы на работающем SQL Server.
Скачать сейчас
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)