Дата последнего изменения раздела: 2008-01-18

Средство устранения неполадок с базами данных Microsoft Exchange обнаружило в журнале приложений одно или несколько событий ESE 474 с кодом ошибки -1018. Такая ошибка создается, если компонент проверки целостности Microsoft Exchange определяет, что серверу Exchange Server не удалось правильно сохранить или получить данные файла базы данных Exchange с подсистемы жесткого диска.

Объяснение

Событие ESE 474 с кодом ошибки -1018 может произойти вследствие повреждения жесткого диска или из-за того, что драйверы или микропрограммы подсистемы жесткого диска устарели или несовместимы.

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

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

Exchange сообщает об ошибке с кодом -1018 в случае обнаружения в файле базы данных инициализированной страницы, удовлетворяющей одному из следующих условий:

  • контрольная сумма, хранящаяся в странице, не соответствует результату пересчета контрольной суммы, который выполняется при ее чтении;

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

Exchange может самостоятельно создавать ошибку с кодом -1018 в одном из следующих случаев:

  • Exchange создает страницу с неправильной контрольной суммой;

  • Exchange создает страницу правильно, но указывает операционной системе записать страницу в неверное местоположение;

Exchange создает контрольную сумму для страницы, которая будет записываться на диск после того, как в страницу будут записаны все данные (включая ее номер). После того как Exchange добавляет к странице контрольную сумму, Exchange указывает операционной системе Windows записать страницу на диск с помощью стандартных опубликованных API Windows.

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

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

Одиночная ошибка с кодом -1018 для базы данных Exchange обычно не приводит к остановке базы данных Exchange или другим последствиям (кроме самого сообщения об ошибке -1018). Проблемная страница может быть пустой или находиться в папке, доступ к которой осуществляется редко, например в папке «Отправленные» или «Удаленные», либо в редко открываемом вложении.

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

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

Действия пользователя

Перед тем как исправлять ошибки ESE 474 с кодом -1018, зарегистрированные в журнале приложений, убедитесь, что дисковая подсистема сервера стабильна.

Чтобы устранить проблемы с дисковой подсистемой, выполните указанные ниже действия.

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

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

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

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

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

Перемещение почтовых ящиков (Exchange 2000 Server или Exchange Server 2003)
  1. В оснастке «Active Directory — пользователи и компьютеры» выберите пользователя, почтовые ящики которого требуется переместить.

  2. Щелкните правой кнопкой мыши пользователя, выбранного в предыдущем действии, и выберите команду Exchange Tasks (Задачи Exchange).

  3. В мастере задач Exchange на странице Available Tasks (Доступные задачи) выберите пункт Move Mailbox (Переместить почтовый ящик) и нажмите кнопку Next (Далее).

  4. Внимательно следуйте инструкциям мастера.

Перемещение почтовых ящиков (только для Exchange Server 2003)
  1. В диспетчере Exchange разверните узел Servers (Серверы), разверните узел сервера, с которого необходимо переместить почтовые ящики, разверните группу хранения, почтовые ящики которой необходимо переместить, разверните хранилище почтовых ящиков, содержащее требуемые почтовые ящики, и выберите пункт Mailboxes (Почтовые ящики).

  2. В области сведений щелкните правой кнопкой мыши пользователей, почтовые ящики которых необходимо переместить, и выберите команду Exchange Tasks (Задачи Exchange).

  3. В мастере задач Exchange на странице Available Tasks (Доступные задачи) выберите пункт Move Mailbox (Переместить почтовый ящик) и нажмите кнопку Next (Далее).

  4. Внимательно следуйте инструкциям мастера.

Перемещение почтовых ящиков с помощью консоли управления Exchange (только для Exchange Server 2007)
  1. Откройте консоль управления Exchange.

  2. В дереве консоли разверните узел Настройка получателей и выберите пункт Почтовый ящик.

  3. В области результатов выберите почтовые ящики, которые требуется переместить.

  4. На панели операций выберите ссылку Переместить почтовый ящик.

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

  6. На странице Параметры перемещения выберите вариант обработки поврежденных сообщений в почтовом ящике и нажмите кнопку Далее.

  7. На странице Расписание перемещения укажите время выполнения перемещения и нажмите кнопку Далее.

  8. На странице Переместить почтовый ящик просмотрите сводку о перемещении почтовых ящиков и нажмите кнопку Переместить.

  9. На странице Завершение нажмите кнопку Готово.

Дополнительные сведения о поддерживаемых сценариях использования мастера перемещения почтовых ящиков и командлета Move-Mailbox см. в разделе «Перемещение почтовых ящиков» (http://go.microsoft.com/fwlink/?LinkId=85754) документации на сервер Exchange Server 2007 (на английском языке).

Второй способ. Восстановление баз данных из надежной хорошей резервной копии. Дополнительные сведения о восстановлении баз данных Exchange Server см. в следующих статьях:

Третий способ. Жесткое восстановление поврежденных баз данных с помощью средства Eseutil. Третий способ следует применять только в том случае, если первые два способа были неуспешными. После жесткого восстановления необходимо также выполнить автономную дефрагментацию восстановленной базы данных и запустить средство Isinteg для устранения логических повреждений. Эти действия можно выполнить с помощью задачи восстановления средства устранения неполадок с базами данных Exchange. Эта задача автоматически выполняет команды Eseutil /P, Eseutil /D и Isinteg.

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

Дополнительные сведения об этой проблеме см. в следующих статьях базы знаний Майкрософт и материалах по Exchange Server: