Некоторое время назад моя машина с Windows Server 2003 зависала, и мне нужно было выполнить принудительную перезагрузку, выключив и выключив ее. При перезапуске запускался chkdsk, и chkdsk сообщал о некоторых проблемах.
С тех пор IISAdmin не может запуститься (что означает, что IIS вообще не работает):
C:\WINDOWS\system32>sc query iisadmin
SERVICE_NAME: iisadmin
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))
WIN32_EXIT_CODE : 1066 (0x42a)
SERVICE_EXIT_CODE : -2146893818 (0x80090006)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
Я подозревал, что метабаза повреждена, поэтому я попытался восстановить ее из файла истории метабазы, датированного ранее сбоя, но безуспешно.
Не совсем уверен, как решить эту проблему дальше. В системном журнале регулярно появляется одна явно связанная ошибка, идентификатор события 10010 от DCOM:
The server {A9E69610-B80D-11D0-B9B9-00A0C922E750} did not register with DCOM
within the required timeout.
Но я не уверен, действительно ли это проливает дополнительный свет или это просто еще одно предупреждение о том, что IISAdmin не может запуститься.
В противном случае в журналах событий нет помощи. Что делать дальше, чтобы изолировать эту проблему и исправить ее? Я должен отметить, что у меня нет возможности перезагружать этот сервер очень часто - это сервер приложений, и пользователи, которые зависят от приложения, работают до поздней ночи, и мне нужно будет быть на месте, чтобы перезагрузить это потому, что он не всегда надежно перезагружается, но обычно я работаю вне офиса.
Так что если есть способ продолжить расследование без перезагрузки, я очень хочу это услышать.
Согласно winerror.h, 0x80090006 означает «NTE_BAD_SIGNATURE», что является результатом вызова Win32 API «CryptVerifyMessageSignature» и означает, что «подпись сообщения не была проверена». Для меня это похоже на сбой проверки криптографической подписи в каком-то файле, связанном с запуском iisadmin.
Я бы подумал о выполнении «SFC / SCANNOW», чтобы проверить, можете ли вы заменить испорченный файл, предполагая, что средство проверки системных файлов может получить доступ к некоторым установочным файлам Windows, и предполагая, что это испорченный файл. (Да - «облажался» - это технический термин. Для меня звучит лучше, чем «коррумпированный». Коррумпированный? В файле были взятки?)
Если вы не заставляете его работать после "SFC / SCANNOW", я бы, вероятно, запустил "Process Monitor" и посмотрел, какие файлы загружаются. Там будет МНОГО записей журнала, но вы можете найти иголку в этом стоге сена.
Учитывая, что машина резко отключилась и была повреждена файловая система, я бы вложил свои деньги в поиск одного или нескольких поврежденных файлов с помощью SFC / SCANNOW.
В сторону: Значит, он не перезапустится надежно, а? Дает мне "Веб-сайт не работает!" такое ощущение ... (НЕ ПЕРЕЗАГРУЖАЙТЕ ВЕБ-СЕРВЕР !!!!!! Хе-хе ...)
Просто переустановите IIS, выбрав «Установка и удаление программ»> «Компоненты Windows». Я устанавливал его раньше на серверах Windows 2003, и мне не приходилось перезагружать.