1

我的应用程序正在正常工作时,是否对我的sql express进行了调试。 现在我已经使用win2008 web服务器在另一台机器上的IIS上部署了并更改了数据库连接字符串。已部署的MVC应用程序未连接到数据库

我希望应用程序总是使用相同的用户连接到数据库,而不是使用连接用户的身份。

我得到的错误是

Error: Cannot open database "XXXXXX" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\NETWORK SERVICE' 

我怎样才能做到这一点?

回答

2

不知道你当前的连接字符串是什么,看看这个网站的一些指导到各种连接字符串设置:http://www.connectionstrings.com/sql-server-2008。这是因为在数据库本身建立SQL帐户,然后在连接字符串这样在使用用户名/密码一样简单:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 
0

如果你可以使用SQL身份验证,您可以指定为部分用户名和密码的连接字符串。你甚至可以在Web.Config文件中对这些信息进行加密,这样你就不用担心看到它的人。

如果您不能使用SQL身份验证(大多数政府机构安全设置要求将其禁用),则可以使用用于运行Web应用程序的应用程序池标识的凭据。它看起来像是你正在发生的事情,并且你正在使用默认的网络服务凭证。如果没有使用凭证,那么如果使用Sql Profiler,则用户'或可能匿名用户登录失败。

尝试将应用程序池标识帐户更改为有权访问数据库的真实用户。

相关问题