Общие сведения о доставке журналов

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

Операции доставки журналов

Доставка журналов состоит из этих трех операций:

  1. резервное копирование журнала транзакций на экземпляре сервера-источника;

  2. копирование резервных копий журнала транзакций на экземпляр сервера-получателя;

  3. восстановление из резервных копий журнала транзакций на экземпляре сервера-получателя.

Журнал может доставляться нескольким экземплярам серверов-получателей. В этих случаях операции 2 и 3 повторяются для каждого экземпляра сервера-получателя.

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

Сервер-получатель можно использовать для построения отчетов. Дополнительные сведения см. в разделе Использование серверов-получателей для обработки запросов.

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

Сервер-источник и его база данных

Сервер-источник в конфигурации доставки журналов — это экземпляр компонента SQL Server Database Engine, являющийся рабочим сервером. База данных-источник — это база данных сервера-источника, резервную копию которой нужно создать на другом сервере. Все администрирование конфигурации доставки журналов через среду Среда SQL Server Management Studio производится на базе данных-источнике.

База данных-источник должна использовать модель полного восстановления или восстановления с неполным протоколированием; переключение базы данных на использование модели простого восстановления приведет к прекращению доставки журналов.

Серверы-получатели и их базы данных

Сервер-получатель в конфигурации доставки журналов — это сервер, на котором нужно хранить «горячую» копию рабочей базы данных. Сервер-получатель может содержать резервные копии баз данных с разных серверов-источников. Например, в отделе может быть пять серверов, на каждом из которых работает важнейшая система баз данных. Вместо того чтобы использовать пять отдельных серверов-получателей, можно ограничиться одним. Резервные копии из пяти систем-источников могут загружаться в одну систему резервного копирования, сокращая количество необходимых ресурсов и экономя деньги. Маловероятно, что сбой произойдет на нескольких системах-источниках одновременно. Также, чтобы компенсировать малую вероятность того, что недоступными могут стать несколько систем-источников, сервер-получатель может быть более мощным, чем серверы-источники.

База данных-получатель должна быть инициализирована и восстановлена из полной резервной копии базы данных-источника. Восстановление может быть завершено с помощью параметра NORECOVERY или STANDBY. Это можно сделать вручную или через среду Среда SQL Server Management Studio.

Сервер мониторинга

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

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

  • когда серверы-получатели в последний раз копировали и восстанавливали резервные копии журналов;

  • сведения о любых предупреждениях о сбоях.

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

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

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

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

Задания доставки журналов

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

Пользователь управляет частотой создания резервных копий журналов, частотой их копирования на каждый сервер-получатель и частотой их применения к базе данных-получателю. Чтобы уменьшить объем работ, необходимых для перевода сервера-получателя в режим «в сети», например, после сбоев рабочей системы, необходимо скопировать и восстановить каждую резервную копию журнала транзакций после ее создания. В качестве альтернативы, возможно, на втором сервере-получателе можно задержать применение резервных копий журнала транзакций к базе данных-получателю. Задержка может обеспечить интервал, во время которого можно заметить выполнение ошибочных действий на сервере-источнике и отреагировать на них, например, при случайном удалении важных данных.

Задание резервного копирования

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

При включении доставки журналов на экземпляре сервера-источника создается задание агента SQL Server категории «Резервное копирование доставки журналов».

SQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий. При создании конфигурации доставки журналов можно управлять поведением сжатия резервных копий журналов. Дополнительные сведения см. в разделе Сжатие резервных копий (SQL Server).

Задание копирования

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

При включении доставки журналов на экземпляре сервера-получателя создается задание агента SQL Server категории «Копирование доставки журналов».

Задание восстановления

Задание восстановления создается на экземпляре сервера-получателя для каждой конфигурации доставки журналов. Это задание восстанавливает резервные копии журналов в базу данных-получатель. Оно ведет журнал на локальном сервере и на сервере мониторинга и удаляет старые файлы и записи своего журнала. Задание агента SQL Server категории «Восстановление доставки журналов» создается на экземпляре сервера-получателя при включении доставки журналов.

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

Напротив, задержка задачи восстановления, возможно на несколько часов, может быть полезна в случае серьезной пользовательской ошибки типа удаленной таблицы или неуместно удаленной строки таблицы. Если время ошибки известно, можно вернуть базу данных-получатель в предыдущее состояние перед ошибкой. Затем можно выполнить экспорт потерянных данных и импорт их назад в базу данных-источник.

Задание предупреждения

При использовании сервера мониторинга задание предупреждения создается на экземпляре сервера мониторинга. Задание предупреждения является общим для всех серверов-источников и серверов-получателей всех конфигураций, использующих этот экземпляр сервера мониторинга. Любое изменение в задании предупреждения (изменение расписания, отключение или включение) влияет на все базы данных, использующие этот сервер мониторинга. Это задание создает предупреждения (для которых нужно задать номера) для баз данных-источников и получателей, если операции резервного копирования или восстановления не были завершены успешно в течение указанного срока. Эти предупреждения нужно настроить так, чтобы оператор получал уведомление об ошибке при доставке журналов. Задание агента SQL Server категории «Предупреждение доставки журналов» создается на экземпляре сервера мониторинга при включении доставки журналов.

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

Типичная конфигурация доставки журналов

Следующий рисунок показывает конфигурацию доставки журналов с экземпляром сервера-источника, тремя экземплярами сервера-получателя и экземпляром сервера мониторинга. Рисунок иллюстрирует шаги, выполняемые задачами резервного копирования, копирования и восстановления, следующим образом:

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

  2. каждый из трех экземпляров сервера-получателя выполняет задачу копирования файла-источника резервной копии журнала в его локальную целевую папку;

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

Экземпляры сервера-источника и сервера-получателя посылают собственный журнал и состояние экземпляру сервера мониторинга.

Конфигурация, в которой представлены задания копирования, резервного копирования и восстановления

Включение доставки журналов