Приложение ASP.Net не может войти в базу данных SQL Server при развертывании на веб-сервере - PullRequest
1 голос
/ 19 сентября 2008

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

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

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

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

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

Есть идеи?

Ответы [ 5 ]

1 голос
/ 19 сентября 2008

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

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

1 голос
/ 19 сентября 2008

Если это новая установка, не все может быть настроено. Проверьте Диспетчер конфигурации 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.

1 голос
/ 19 сентября 2008

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

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

0 голосов
/ 19 сентября 2008

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

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

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

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

0 голосов
/ 19 сентября 2008

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

...