Приостановка и возобновление зеркального отображения базы данных

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

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

Рекомендуется как можно быстрее возобновить приостановленный сеанс, поскольку во время приостановки зеркального отображения базы данных журнал транзакций не может быть усечен. Таким образом, если сеанс зеркального отображения базы данных приостанавливается на долгое время, журнал транзакций может заполниться до конца, и база данных станет недоступной. Объяснение причин этого см. далее в пункте «Как приостановка и возобновление влияют на усечение журнала» данного раздела.

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

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

Влияние приостановки и возобновления на усечение журнала

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

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

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

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

Избежание переполнения журнала транзакций

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

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

  • Остановить зеркальное отображение базы данных, отключив зеркалирование.

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