Можно использовать переключатель /D служебных программ базы данных сервера Exchange (Eseutil.exe) для дефрагментации и уплотнения базы данных в автономном режиме. Функция дефрагментации делает используемые фрагменты области памяти смежными, устраняет неиспользуемые фрагменты области памяти и уплотняет базу данных, что уменьшает размер файла базы данных.

Указания о порядке использования синтаксиса Eseutil /D см. в разделе Инструкции по запуску Eseutil /D (дефрагментация).

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

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

Как производится дефрагментация в режиме Eseutil

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

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

Длительность периода дефрагментации базы данных

Длительность периода, необходимого для выполнения дефрагментации, зависит от того, сколько пустого месте в базе данных, а не от размера файла базы данных. Например, дефрагментация 100-гигабайтовой базы данных, содержащей 10 ГБ данных занимает примерно такое же время, что и дефрагментация 11-гигабайтовой базы данных, содержащей 10 ГБ данных.

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

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

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

Инструкции по определению величины свободного места в базе данных

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

Тип события: Сведения

Источник события: Почтовый ящик банка данных MSExchange

Категория события: Общие

Идентификатор события: 1221

Дата: 8/16/2006

Время: 9:15:00

Пользователь: Н/Д

Компьютер: Имя компьютера

Описание: После завершения дефрагментации в сетевом режиме база данных «storage_group\mailbox_database» содержит nnn мегабайт свободного пространства.

Примечание.
В Exchange Server 2007 описание сообщения о событии с идентификатором 1221 содержит следующий текст: После завершения дефрагментации в сетевом режиме база данных «storage_group\mailbox_database» содержит nnn мегабайт свободного пространства. Storage_group является именем группы хранения, mailbox_database является именем базы данных почтовых ящиков, и nnn представляет собой величину доступного дискового пространства в мегабайтах. Имя компьютера является именем компьютера Exchange Server.

Для баз данных очередей (баз данных транспорта, находящихся на сервере с установленными ролями пограничного транспортного сервера или транспортного сервера-концентратора Exchange), в журнал событий заносятся события, подобные следующим:

Тип события: Сведения

Источник события:

Категория события: Компоненты

Идентификатор события: 7007

Дата: 8/16/2006

Время: 01:00:02

Пользователь: Н/Д

Компьютер: Имя компьютера

Описание: Дефрагментация в сетевом режиме выполнена для файла базы данных mail.que. Указанная база данных содержит nnn байт свободного пространства.

Примечание.
В предыдущем описании nnn является объемом свободного пространства в байтах. Имя компьютера является именем компьютера Exchange Server.

Другим методом определения величины свободного пространства является выполнение в режиме Eseutil /ms дампа памяти файла автономной базы данных. (Например, выполняется следующая команда: eseutil /ms Mailbox Database.edb). В результате выполнения дампа памяти выдается таблица. Из колонки Availablecolumn таблицы возьмите число и умножьте его на размер страницы, чтобы определить свободное пространство для данного файла базы данных. Дополнительные сведения о режиме дампа файла Eseutil см. в разделе Режим дампа файла программы Eseutil /M.

При работе в режиме Eseutil /D

Имеется несколько ситуаций, когда целесообразно применять режим Eseutil /D для дефрагментации базы данных Exchange. Ниже перечисляются некоторые из таких ситуаций:

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

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

  • Файл базы данных восстановлен с использованием режима Eseutil /P. После запуска восстановления в файле базе данных следует выполнить автономную дефрагментацию в режиме Eseutil.

  • В файле базы данных очередей, находящемся на транспортном сервере-концентраторе или пограничном транспортном сервере Exchange 2007, возникает почтовый шторм. Почтовый шторм представляет собой событие, при котором большое количество сообщений электронной почты заполняет очередь транспорта быстрее, чем служба транспорта может обработать эти сообщения. Такая ситуация приводит к тому, что очередь заполняется сообщениями электронной почты и база данных очередей расширяется, когда это необходимо. Когда сообщение электронной почты из шторма обработано и проведена оперативная дефрагментация базы данных, в ней остается некоторый объем свободного пространства. Чтобы использовать это свободное пространство и уплотнить базу данных, следует запустить режим Eseutil /D для выполнения автономной дефрагментации базы данных.

Когда нецелесообразно выполнять режим Eseutil /D

Имеется несколько ситуаций, когда нецелесообразно запускать режим Eseutil /D для дефрагментации базы данных Exchange. Ниже перечисляются некоторые из таких ситуаций:

  • Автономную дефрагментацию в режиме Eseutil не следует проводить в качестве любого вида стандартного обслуживания. Приложение Exchange производит автоматическую дефрагментацию в сетевом режиме каждую ночь, при этом производится повседневное обслуживание Exchange. При дневном, месячном или годовом регламенте технического обслуживания выполнять автономную дефрагментацию нецелесообразно.

  • Дефрагментацию в режиме Eseutil не следует выполнять, когда база данных не находится в согласованном состоянии.

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

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

Дополнительные сведения