Я пытаюсь выполнить автономную дефрагментацию на нашем почтовом сервере.
Мы работаем под управлением Windows Server 2008 R2 Standard, но у нас установлен Exchange 2010.
Я использую eseutil
для выполнения дефрагментации - однако я продолжаю получать ошибку в PowerShell.
Вот команда, которую я использую:
[PS] D:\EXCHSRVR\regional database\database>eseutil /d regional.edb /t\\mail\temp.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.02
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating DEFRAGMENTATION mode...
Database: regional.edb
Defragmentation Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
X
Operation terminated with error -1022 (JET_errDiskIO, Disk IO error) after 0.94 seconds.
Последний бит - ошибка. На моем сервере достаточно места для временного хранения. файлы и база данных также размонтированы. Любые идеи?
В Exchange 2010 и более поздних версий в большинстве случаев нет необходимости использовать автономную дефрагментацию.
Лучшим, полностью поддерживаемым методом без простоев является создание новой базы данных почтовых ящиков и перемещение всех почтовых ящиков в новую базу данных. Exchange 2010 поддерживает перемещение почтовых ящиков в оперативный режим, поэтому время простоя отсутствует, вы можете перемещать почтовые ящики в середине рабочего дня.
Если некоторые из почтовых ящиков повреждены, он пропустит их и позволит вам разобраться с ними, когда процесс будет завершен - либо удаление почтовых ящиков, либо пропуск поврежденных элементов и перемещение полезной информации.
После того, как все перемещения будут выполнены, вы можете просто удалить старую базу данных почтовых ящиков. Новая база данных почтовых ящиков будет хорошо дефрагментирована и не будет содержать лишних пробелов.
Разумеется, вам понадобится достаточно места для хранения существующей базы данных и новой на короткое время. Но то же самое нужно и для автономной дефрагментации.
Если это помогает убедить вашего менеджера, то вот что скажет об этом команда Exchange:
Как я могу исправить пробелы?
Естественно, после просмотра доступного пробела в базе данных всегда возникает вопрос - как я могу восстановить пробелы?
Многие полагают, что ответ - выполнить автономную дефрагментацию базы данных с помощью ESEUTIL. Однако это не наша рекомендация. Когда вы выполняете автономную дефрагментацию, вы создаете совершенно новую базу данных, и операции, выполняемые для создания этой новой базы данных, не регистрируются в журналах транзакций. Новая база данных также имеет новую подпись базы данных, что означает, что вы аннулируете копии базы данных, связанные с этой базой данных.
В случае, если вы столкнетесь с базой данных со значительными пробелами и не ожидаете, что нормальные операции восстановят их, мы рекомендуем:
Создайте новую базу данных и связанные копии базы данных.
Переместите все почтовые ящики в новую базу данных.
Удалите исходную базу данных и связанные с ней копии базы данных.