Приложение ASP.Net не может войти в базу данных SQL Server при развертывании на веб-сервере

У меня проблема с развертыванием веб-приложения ASP.NET V2 в нашей среде развертывания, и у меня возникают проблемы с настройкой сервера sql.

Когда я запускаю веб-сайт, у меня не получается войти в систему для пользователя "MOETP\MOERSVPWLG$". ошибка при попытке подключения к базе данных.

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

Некоторые подробности о настройке. IIS 6 и SQL Server 2005 установлены на одном сервере в среде развертывания. Единственное изменение в тестовой настройке, которое я сделал, - указать строку подключения базы данных к новой действующей базе данных и, конечно, скопировать все заново.

На данный момент я предполагаю, что необходимо выполнить настройку сервера SQL, чтобы разрешить подключения с asp.net. Но я не вижу, что это может быть.

Есть идеи?

5 ответов

Если это новая установка, не все может быть настроено. Проверьте диспетчер конфигурации SQL Server, http://msdn.microsoft.com/en-us/library/ms174212.aspx. Пошаговые инструкции http://download.pro.parallels.com/10.3.1/docs/windows/Guides/pcpw_upgrade_guide/7351.htm.

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

Благодаря встроенной аутентификации Windows ваше соединение с базой данных будет использовать то, что использует ваша личность пользователя в пуле приложений. Вы должны убедиться, что идентификатор пользователя, который использует asp.net, находится на сервере базы данных.

Имя пользователя, которое вы указали в своем сообщении, выглядит так, как выглядит учетная запись сетевой службы на одном компьютере для других компьютеров, то есть "DOMAIN\MACHINENAME$".

Если вы подключаетесь из IIS6 на одном компьютере к SQL Server на другом компьютере и используете сетевую службу для идентификации процесса пула приложений, вам нужно явно добавить "MOETP\MOERSVPWLG$" в качестве имени входа на SQL Server и сопоставить его для соответствующего пользователя базы данных и роли. Введите это имя в точности как имя для входа (конечно, без кавычек).

Убедитесь, что для пользователя, которого вы пытаетесь авторизовать на сервере sql, создан логин.

Там может быть несколько разных вещей.

Вы используете встроенную проверку подлинности Windows? Если это так, вам нужно убедиться, что пользователь ASP.net работает так, как может общаться с базой данных (или выдавать себя за того, кто может).

Есть ли у веб-сервера разрешение на общение с базой данных? Иногда веб-сервер развертывается в демилитаризованной зоне.

Если вы используете учетную запись SQL Server, существует ли такая же учетная запись на рабочем сервере с такими же разрешениями?

Другие вопросы по тегам