Я попытался понять, как восстановление базы данных работает в SQL Server. Я прочитал из BOL о различных этапах операции восстановления, но мало что понял. Не могли бы вы пояснить, что делают эти разные фазы?
Мое понимание:
Проход анализа выполняется для построения таблицы грязных страниц и активной таблицы транзакций с последней контрольной точки. Redo получает блокировки для самого старого открытого trxn в качестве подготовки к повторному применению изменений из открытого trxn. Отменить откатывает незафиксированные trxns.
Чтобы понять этапы, вам необходимо иметь общее представление о моделях восстановления и о том, как они работают.
копирование данных: восстановление полных, а затем разностных резервных копий баз данных.
redo: это повторяет ваши журналы, эффективно повторяя изменения базы данных, которые были потеряны до точки отказа. Это необязательно и не произойдет в простой модели восстановления.
отменить: это просматривает предыдущие восстановленные журналы и откатывает все транзакции, которые были добавлены в журналы, но не зафиксированы в базе данных.
Это основы, но очевидно, что если вы не знакомы с моделями восстановления, они, вероятно, не будут иметь большого смысла. Можно было бы дать лучший ответ, если бы мы имели представление о том, что вы пытаетесь сделать.