Спросил 5 сентября 2015 20:17 в "Программирование"

Exchange в системных логах приложений появляется ошибка

Доброго времени суток. 
Виндовс 2007 сервер + Exchange 6 
Запустил ntbackup для создания теневой копии баз есченж, но в середине процесса копирования процедура заканчивается с ошибкой. 
В системных логах приложений появляется ошибка 

Тип события: Ошибка 
Источник события: ESE 
Категория события: Logging/Recovery 
Код события: 474 
Дата: 30.08.2015 
Время: 10:41:48 
Пользователь: Н/Д 
Компьютер: SERVER-2007 
Описание: 
Information Store (3608) First Storage Group: The database page read from the file "E:\Exchsrvr\mdbdata\priv1.edb" at offset 4170719232 (0x00000000f8982000) (database page 1018241 (0xF8981)) for 4096 (0x00001000) bytes failed verification due to a page checksum mismatch. The expected checksum was 3688532548220312989 (0x33304ccf57235d9d) and the actual checksum was 8371641752678700650 (0x742e0bd1b73e166a). The read operation will fail with error -1018 (0xfffffc06). If this condition persists then please restore the database from a previous backup. This problem is likely due to faulty hardware. Please contact your hardware vendor for further assistance diagnosing the problem. 


Получается, что файл с данными поврежден физически и его нужно востанавливать. Резервных копий нет нормальных. Последний раз копия делалась несколько месяцев назад. 
Логично сначала проверить жесткий диск на ошибки и вообще его состояние, но боюсь отключать базы или перегружать сервак. Думаю, что базы могут не подключится после этого (сейчас все работает без видимых проблем для пользователей). 
Хочу отключить базы, сделать копию и попробовать восстановить базу с помощью ESEUTIL /P, но боюсь, что екченже может не подняться после ребута (отключения баз). 
У нас около 10 пользователей и я уже на каждом ПК сохранил данные с аутлука (экспорт ящика в формат PST). Он загружается потом в чистый аутлук
Есть 1 ответ
danki
danki
Ответил 12 сентября 2015 05:06
Если почта выгружена в PST, то можешь особо не париться.. попытайся восстановить базу ESEUTIL. 
Если не помогло: 
1. Отключаешь базу почтовых ящиков 
2. Переносишь файлик priv1.edb в другую директорию 
3. Маунтишь хранилище, при этом будет предупреждение о том, что создаётся пустое хранилище 
4. В оснастке АД у каждого пользователя удаляешь почтовый ящик и создаёшь заново в новом пустом хранилище 
5. Переподключаешь почтовые ящики, загружаешь PST 
6. Настраиваешь БЭКАП! 
1. Даже если бэкап делался несколько месяцев назад, но логи не удалялись и циклическое протоколирование логов отключено (настройка по умолчанию), то восстановление из резервной копии возможно - но делаться, тем не менее, оно может очень долго (время зависит от объема логов и скорости диска). 
Можно попробовать этот процесс восстановив БД в Recovery Storage Group (полагаю, что хоть и написано у ТС "Exchange 6", но речь идет об Exch 2003 - потому что на Win2K3 Exch 6.0 он же Exch2000 ставить было не положено). 
2. Что еще можно попробовать - проделать дефрагментацию (eseutil /g): если повезло, и сбойная страница оказалась среди пустых, то дефрагментация ее может и не считать (в отличие от бэкапа, который читает все). Дефрагметацию вполне можно провестина копии базы, не отключая надолго пользователей (только на время сроздания копии). 
3. Если восстанавливать базу с помощью ESEUTIL /P, то после этого обязательно нужно запустить isinteg со всеми тестами, и повторять его запуск до тех пор, пока он не перестанет находить ошибки (не все ошибки находятся с первого раза). 
4. Чтобы обнулить базу, нужно просто удалить/перенести все файлы базы и логов, при этом при старте создастся пусая база. Ящики всех пользователей окажутся пустыми, удалять/создавать ящики в AD не требуется. 

Потом можешь софты попробывать www.repairtoolbox.com/ru/exchangeserverrepair.html Exchange Server Repair Toolbox или как альтернативу использовать программу RRP (Rapid Recovery Files) 

 
Лучший
Подписывайтесь на наши группы в социальных сетях - смешные статьи, картинки и факты!