Усечение журнала транзакций для Exchange Server

Журнал Microsoft Exchange Server

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

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

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

Дополнительные сведения о ведении журнала транзакций см. по адресу http://technet.microsoft.com/ru-ru/library/bb331958.aspx.

Усечение журнала с помощью параметра Включить полное резервное копирование VSS

Самый простой метод усечения журнала — посредством параметра резервного копирования Включить полное резервное копирование VSS (Параметры > Параметры резервного копирования и восстановления по умолчанию > Параметры резервного копирования по умолчанию > Служба теневого копирования томов > Включить полное резервное копирование VSS). Он рекомендуется в большинстве случаев.

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

Усечение журнала баз данных в автономном режиме

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

Как удалить файлы журнала транзакций

  1. Отключите базу данных (в Exchange 2010) или все базы данных группы хранения (в Exchange 2003/2007). Дополнительные сведения см. в следующих документах:
  2. Удалите все файлы журнала базы данных или группы хранения.
  3. Подключите заново одну или несколько баз данных, которые были отключены.

    Дополнительные сведения см. в следующих документах:

Усечение журнала баз данных в оперативном режиме

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

Как удалить зафиксированные журналы транзакций

  1. Определите, какие журналы зафиксированы в базе данных, используя средство Eseutil:
    1. Выполните команду eseutil /mk <путь к файлу контрольных точек>, где <путь к файлу контрольных точек> относится к файлу контрольных точек нужной базы данных или группы хранения.
    2. Просмотрите поле Checkpoint в выходных данных. Например, оно может выглядеть так:

      CheckPoint: (0x60B, 7DF, 1C9)

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

  2. Удалите все файлы журнала, номера которых меньше номера текущего файла журнала. Например, можно безопасно удалить Enn0000060A.log, Enn00000609.log и файлы с меньшими номерами.
Усечение журнала после резервного копирования

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

Этот метод предполагает, что вы умеете писать сценарии и знакомы с утилитой командной строки Acronis Backup (acrocmd). Подробные сведения об утилите acrocmd см. в справочнике по командной строке.

Сценарий должен содержать следующие шаги:

  1. Подключите тома, содержащие нужные файлы баз данных, с помощью команды mount.

    Шаблон:

    acrocmd mount --loc=<path> --credentials=<имя пользователя>,<пароль> --arc=<имя архива> --volume=<номера томов> --letter=<буквы>

    Пример:

    acrocmd mount --loc=\\bkpsrv\backups --credentials=user1,pass1 --arc=my_arc --volume=1-1 --letter=Z

  2. В подключенных томах определите, какие журналы уже зафиксированы в базе данных, с помощью инструмента Eseutil. Процедура описана в шаге 1 подраздела «Усечение журнала баз данных в оперативном режиме» выше.
  3. В соответствующей базе данных или группе хранения, находящейся в оперативном режиме, удалите все файлы журнала, номера которых меньше номера текущего файла журнала в резервной копии.
  4. Отключите подключенные тома с помощью команды umount.