Я пытаюсь выполнить офлайновую дефрагментацию на нашем Почтовом сервере.
Мы выполняем Стандарт Windows Server 2008 R2, но установили 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. Однако это не наша рекомендация. Когда вы выполняете автономную дефрагментацию, вы создаете совершенно новую базу данных, и операции, выполняемые для создания этой новой базы данных, не регистрируются в журналах транзакций. Новая база данных также имеет новую подпись базы данных, что означает, что вы аннулируете копии базы данных, связанные с этой базой данных.
В случае, если вы обнаружите базу данных, в которой есть значительный пробел, и вы не ожидаете, что обычные операции восстановят это наша рекомендация:
Создайте новую базу данных и связанные копии базы данных.
Переместите все почтовые ящики в новую базу данных.
Удалите исходную базу данных и связанные с ней копии базы данных.