У меня на сервере установлен SQL Server 2000. Я установил экспресс-выпуск SQL Server 2008 R2 по мере необходимости для нового приложения. Приложение работает на том же сервере, что и Windows Server 2003 с IIS 6. SQL Express был установлен как именованный экземпляр. Я могу подключиться к SQLExpress через Management Studio.
Веб-приложение работает без каких-либо проблем, но как только оно выполняет операцию, требующую db, оно выдает следующую ошибку.
Невозможно открыть базу данных, запрошенную в логине "dbname". Ошибка входа. Ошибка входа для пользователя NT AUTHORITY \ SYSTEM.
Я искал решение в Интернете, но мне не удалось его решить.
Вот что я пробовал.
Установите строку подключения для использования проверки подлинности Windows.
<add name="conn" connectionString="data source=ServerName\SQLEXPRESS;
Initial Catalog=dbName; Integrated Security=SSPI; Instance=true"
providerName="System.Data.SqlClient"/>
Установите строку подключения для использования проверенных учетных данных.
<add name="conn" connectionString="data source=ServerName\SQLEXPRESS;
Initial Catalog=dbName; User ID=uname; Password=passw"
providerName="System.Data.SqlClient"/>
Проверено, что допустимая строка подключения отражена в настройках IIS => ASP.
Добавлен пользователь NT AUTHORITY \ SYSTEM как db_owner в мою базу данных
Проверено, что NT AUTHORITY \ NETWORK SERVICE также имеет все разрешения для моей базы данных
Проверено, что служба SQLEXPRESS действительно работает
Это не связано с удаленным подключением. Приложение и SQL-сервер работают на одном компьютере. Проблема в том, что соединение приложения с SQL-сервером не устанавливается.
SQL Server Экспресс не разрешает удаленные подключения по умолчанию после установки.
Вам нужно предпринять некоторые дополнительные шаги, чтобы это сработало.
Проверьте этот Microsoft Статья базы знаний о том, как это сделать. Статья в KB посвящена SQL Server 2005 Express, но то же самое относится и к SQL Server 2008 R2 Express.