У меня есть веб-сайт (Alpha), успешно работающий на веб-сервере IIS 7.5 под управлением Windows Server 2008 R2.
Я в основном хочу клонировать Alpha и иметь второй веб-сайт Beta, такой же, как Alpha, но с несколько другим кодом. Я создал второй веб-сайт, а также создал второй пул приложений. Насколько я могу судить, два пула приложений настроены одинаково: автозапуск, v4.0, интегрированный, Identity: ApplicationPoolIdentity.
Второй веб-сайт (бета) не работает, если я подключаю его к собственному пулу приложений, но работает нормально, если я подключаю его к пулу приложений Alpha. Насколько я помню, я не делал ничего особенного с пулом приложений Alpha. Насколько я могу судить, расширенные настройки одинаковы для обоих.
Ошибка бета-версии при подключении к собственному пулу приложений - это необработанное исключение: Сведения об исключении: System.Data.SqlClient.SqlException: Ошибка входа для пользователя NT AUTHORITY \ ANONYMOUS LOGON
Приветствуются любые идеи о том, как сравнить два пула приложений или отладить систему в целом.
Я попытался удалить пул приложений бета-версии и воссоздать его.
Вы изменили учетную запись, под которой работает пул Alpha, но забыли изменить пул Beta.
Таким образом, бета-версия пула все еще работает под сетевым сервисом по умолчанию (учетная запись компьютера), у которого нет прав на вашу базу данных.
Редактировать:
Другая вероятная причина заключается в том, что вам не хватает MS HotFix KB2545850, что, по-видимому, вызовет эту проблему случайным образом. Видеть http://support.microsoft.com/kb/2545850
Дополнительные сведения см. В этой базе знаний, где также показано, как можно воспроизвести и подтвердить, что это является причиной. http://support.microsoft.com/kb/2672809
Вы подключаетесь к SQL-серверу со встроенной безопасностью, верно? Кажется, что второй идентификатор пула не имеет доступа к вашему SQL-серверу / базе данных.
Используя ApplicationPoolIdentity, ваше приложение подключается к SQL-серверу примерно так:
IIS AppPool\AppPoolName
убедитесь, что оба удостоверения пула приложений имеют доступ к вашему серверу и соответствующей базе данных.
Я мог бы создать группу Windows, чтобы поместить в нее различные удостоверения пула приложений, а затем предоставить этой группе Windows доступ к вашей базе данных.
Также проверьте это вопрос, который, похоже, решает аналогичную проблему и предлагает перезагрузить сервер.