У меня есть небольшой тестовый скрипт ASP.NET, который открывает соединение с базой данных SQL Server на другом компьютере в домене. Это работает не во всех случаях.
Настроить:
IIS 7.5 под W2K8R2 пытается подключиться к удаленному экземпляру SQL Server 2008 R2. Все машины находятся в одном домене.
Используя ApplicationPoolIdentity для веб-сайта, он не может подключиться к SQL Server с помощью следующего:
Не удалось войти в систему для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: сбой входа для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'.
Однако, если я переключаю идентификацию модели процесса на NETWORK SERVICE или мою учетную запись домена, соединение с базой данных будет успешным.
Я предоставил доступ \ $ в SQL Server.
Я не делаю никакой аутентификации на веб-сайте, это просто простой скрипт, чтобы открыть соединение с базой данных, чтобы убедиться, что она работает.
У меня включена анонимная аутентификация и настроено использование идентификатора пула приложений.
Как мне сделать эту работу? Почему ApplicationPoolIdentity пытается использовать ANONYMOUS LOGON? А еще лучше, как мне заставить его перестать использовать анонимный вход?