Состояния восстановления SQL Server

при восстановлении базы данных SQL Server, я заметил, что есть 3 различных состояния восстановления на выбор:

  • восстановления
  • восстановление без восстановления
  • восстановление в режиме ожидания

Я всегда оставлял его на значение по умолчанию, но что все они означают?

(желательно в терминах непрофессионала)

3 ответа:

GateKiller,

в простых терминах (а не копировать-вставить из SQLBOL), так что вы можете понять концепции:

ВОССТАНОВЛЕНИЕ С ВОССТАНОВЛЕНИЕМ использует файл резервного копирования информации (например. fulldata.bak) для восстановления базы данных до момента создания файла резервной копии. В этом случае последовательность восстановления может восстанавливать другие резервные копии и выполнять их накат. Это здорово, если вы хотите вернуться назад во времени, чтобы восстановить базу данных в более раннее состояние-например, когда разработка системы.

Если вы хотите восстановить базу данных до самых последних данных (например, если вы делаете аварийное восстановление системы, и вы не можете потерять какие-либо данные), то вы хотите восстановить эту резервную копию, а затем все журналы транзакций, созданные с момента создания этой резервной копии. Это когда вы используете RESTORE NORECOVERY. Это позволит вам восстановить позже транзакций вплоть до момента сбоя (пока они у вас есть).

восстановление в режиме ожидания-это возможность восстановите базу данных до даты parital (например, NORECOVERY выше), но чтобы база данных по-прежнему использовалась только для чтения. Новые журналы транзакций могут быть применены к базе данных, чтобы держать его в актуальном состоянии (резервный сервер). Используйте это, когда потребуется слишком много времени для восстановления полной базы данных, чтобы вернуться к операциям системы. (т. если у вас есть база данных с несколькими ТБ, восстановление займет 16 часов, но может получать обновления журнала транзакций каждые 15 минут).

Это немного как зеркальный сервер, но без отправки" каждой транзакции " на резервный сервер в режиме реального времени.

вы можете установить базу данных Microsoft SQL-сервер должен быть в режиме norecovery, восстановления или режиме ожидания.

восстановление-это обычный и обычный статус базы данных, в котором пользователи могут подключаться к базе данных и получать к ней доступ (при наличии соответствующих разрешений).

NORECOVERY позволяет администратору базы данных восстанавливать дополнительные файлы резервных копий, такие как разностные или транзакционные резервные копии. Пока база данных находится в этом состоянии, пользователи не могут доступ к этой базе данных.

режим ожидания почти такой же, как статус NORECOVERY, однако он позволяет пользователям подключаться или получать доступ к базе данных только для чтения. Таким образом, пользователи могут запускать только команду SELECT для базы данных. Это используется в доставке журналов довольно часто для целей отчетности. Единственным недостатком является то, что пока в базе данных есть пользователи, выполняющие запросы SQL Server или DBA, не удается восстановить дополнительные резервные файлы. Поэтому, если у вас много пользователей базы данных все время, то репликация может отставать.

из книг на линии, я думаю, что это довольно ясно после того, как вы прочитали его

NORECOVERY

предписывает операции восстановления не откатывать незафиксированные транзакции. Если необходимо применить другой журнал транзакций, необходимо указать параметр NORECOVERY или STANDBY. Если не указано ни NORECOVERY, ни RECOVERY, ни STANDBY, восстановление выполняется по умолчанию.

SQL Server требует, чтобы параметр WITH NORECOVERY использовался для всех, кроме инструкция final RESTORE при восстановлении резервной копии базы данных и нескольких журналов транзакций или при необходимости нескольких инструкций RESTORE (например, полная резервная копия базы данных с последующей разностной резервной копией).

Примечание при указании параметра NORECOVERY база данных не может использоваться в этом промежуточном, невосстановленном состоянии.

при использовании с операцией восстановления файла или файловой группы NORECOVERY заставляет базу данных оставаться в состоянии восстановления после операция восстановления. Это полезно в любой из следующих ситуаций:

выполняется сценарий восстановления, и журнал всегда применяется.

последовательность восстановления файлов и база данных не предназначена для выполнения двух операций восстановления.

восстановление

указывает операции восстановления для отката всех незафиксированных транзакций. После процесса восстановления база данных будет готова использовать.

Если запланированы последующие операции восстановления (Восстановление журнала или восстановление базы данных из разностной), вместо этого следует указать NORECOVERY или STANDBY.

Если не указано ни NORECOVERY, ни RECOVERY, ни STANDBY, по умолчанию используется RECOVERY. При восстановлении наборов резервных копий из более ранней версии SQL Server может потребоваться обновление базы данных. Это обновление выполняется автоматически, если указано восстановление. Дополнительные сведения см. В разделе резервные копии журналов транзакций .

в режиме ожидания = undo_file_name

задает имя файла отмены, чтобы можно было отменить эффекты восстановления. Размер файла отмены зависит от объема действий отмены, выполняемых в результате незафиксированных транзакций. Если не указано ни NORECOVERY, ни RECOVERY, ни STANDBY, восстановление выполняется по умолчанию.

режим ожидания позволяет вызывать базу данных для доступа только для чтения между восстановлениями журнала транзакций и может использоваться с теплым режимом ожидания ситуации сервера или специальные ситуации восстановления, в которых полезно проверять базу данных между восстановлениями журнала.

если указанное имя файла отмены не существует, SQL Server создает его. Если файл существует, SQL Server перезаписывает его.

один и тот же файл отмены можно использовать для последовательного восстановления одной и той же базы данных. Дополнительные сведения см. В разделе использование резервных серверов.

важно, если на диске, содержащем указанное отменить имя файла, операция восстановления останавливается.

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