Резервное копирование с использованием модели восстановления с неполным протоколированием

 Этот подраздел относится только к оптимизации массовых операций в базах данных SQL Server, использующих полную модель восстановления.

Модель восстановления с неполным протоколированием является особой моделью восстановления, которую необходимо периодически использовать для улучшения производительности определенных массовых операций большого объема, например массовый импорт большого объема данных. Большая часть описания восстановления в модели полного восстановления применима и к модели восстановления с неполным протоколированием. В данном разделе рассматриваются только вопросы, которые уникальны для модели восстановления с неполным протоколированием.

ПримечаниеПримечание

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

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

Работа модели восстановления с неполным протоколированием

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

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

В модели восстановления с неполным протоколированием в случае резервного копирования журнала во время массовых операций в резервной копии журнала будут содержаться как записи журнала, так и страницы данных, измененные во время массовых операций. Необходимо собрать результаты выполнения операций с неполным протоколированием. Включаемые экстенты данных могут значительно увеличить объем резервной копии журнала. Поэтому резервное копирование журнала требует доступ к файлам данных, содержащим транзакции с неполным протоколированием. Кроме того, если файлы баз данных недоступны, резервное копирование журнала транзакций выполнить нельзя, и все зафиксированные в этом журнале действия будут потеряны.

Для трассировки страниц данных операция резервного копирования журнала основывается на страницах битовых карт изменений, содержащих по одному биту на каждый экстент. Для каждого экстента, измененного операцией с неполным протоколированием со времени последнего резервного копирования, этот бит в битовой карте устанавливается равным 1. Экстенты данных копируются в журнал, за которым следуют данные журнала. Следующий рисунок иллюстрирует устройство резервной копии журнала.

Битовая карта резервного копирования массовых изменений определяет изменившиеся экстенты

Важное примечаниеВажно!

В полной модели восстановления или модели восстановления с неполным протоколированием до первого полного резервного копирования данных автоматические контрольные точки усекают неиспользуемые участки журнала транзакций, если только записи журнала не остаются активными из-за других факторов. После первого полного резервного копирования данных усечение требует резервного копирования журнала транзакций. Дополнительные сведения о факторах, задерживающих усечение, см. в разделе Факторы, могущие вызвать задержку усечения журнала.

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

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

  • Если файловая группа, содержащая зарегистрированные массовые изменения, переводится в состояние только для чтения до резервного копирования журнала, все последующие резервные копии журнала содержат экстенты, измененные зарегистрированными массовыми операциями, пока она остается доступной только для чтения. Тем не менее, такие резервные копии журнала занимают больше места и дольше записываются, чем при модели полного восстановления.

    Чтобы избежать этой ситуации, переключитесь на модель полного восстановления, прежде чем сделать файловую группу доступной только для чтения и создать резервную копию журнала. Только после этого сделайте файловую группу доступной только для чтения.

  • Если со времени прошлого создания резервной копии журнала выполнялись массовые операции, то в базе данных будут существовать массовые изменения. В этом случае при выполнении резервного копирования журнала все файлы должны находиться в оперативном режиме или в уничтоженном. Поэтому резервное копирование журнала, содержащего операции с неполным протоколированием, требует доступа к файлам данных, содержащим транзакции с неполным протоколированием.

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

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

В рамках модели восстановления с неполным протоколированием резервные копии журналов функционируют правильно, если база данных содержит изменения с неполным протоколированием. Однако если база данных позднее переводится в режим только для чтения после массовой операции с неполным протоколированием, то последующие резервные копии журналов могут захватить больше данных, чем необходимо. Это происходит потому, что файл данных не может быть обновлен, чтобы отслеживать, какие экстенты данных были изменены с помощью операции с неполным протоколированием. Последующие резервные копии журналов содержат те же самые данные.

Рекомендация. Перед тем как перевести базу данных в режим только для чтения, перейдите в режим модели полного восстановления и сделайте резервную копию журналов. Затем сделайте базу данных доступной только для чтения. На практике не имеет смысла выполнять резервное копирование журналов базы данных только для чтения. Вместо этого создайте полную резервную копию базы данных или полный набор резервных копий файлов после перевода базы данных в режим только для чтения. Дополнительные сведения о переключении модели восстановления см. в разделе Особенности переключений между моделью полного восстановления и моделью восстановления с неполным протоколированием.

ПримечаниеПримечание

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

Восстановление из резервных копий с использованием модели восстановления с неполным протоколированием

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

См. также

Задания

Основные понятия

Другие ресурсы