SQL 2008 R2 express:服务器无法打开登录“xx”中请求的数据库。登录失败。用户“NT AUTHORITY\SYSTEM”登录失败

SQL 2008 R2 express:服务器无法打开登录“xx”中请求的数据库。登录失败。用户“NT AUTHORITY\SYSTEM”登录失败

我在服务器上安装了 SQL Server 2000。我根据新应用程序的要求安装了 SQL Server 2008 R2 Express 版本。该应用程序在同一台服务器上运行,即带有 IIS 6 的 Windows Server 2003。SQL Express 是作为命名实例安装的。我可以通过 Management Studio 连接到 SQLExpress。

Web 应用程序运行时没有任何问题,但是一旦执行需要 db 的操作,就会引发以下错误。

无法打开登录“dbname”中请求的数据库。登录失败。用户“NT AUTHORITY\SYSTEM”登录失败。

我已在线搜索解决方案但未能解决。

这是我尝试过的。

  1. 设置连接字符串以使用 Windows 身份验证。

    <add name="conn" connectionString="data source=ServerName\SQLEXPRESS; 
         Initial Catalog=dbName; Integrated Security=SSPI; Instance=true" 
         providerName="System.Data.SqlClient"/>
    
  2. 设置连接字符串以使用已验证的凭据。

    <add name="conn" connectionString="data source=ServerName\SQLEXPRESS; 
                       Initial Catalog=dbName; User ID=uname; Password=passw" 
         providerName="System.Data.SqlClient"/>
    
  3. 测试有效的连接字符串是否反映在 IIS => ASP 设置中

  4. 将用户“NT AUTHORITY\SYSTEM”作为 db_owner 添加到我的数据库

  5. 检查 NT AUTHORITY\NETWORK SERVICE 是否也对我的数据库具有所有权限

  6. 检查 SQLEXPRESS 服务是否正在运行

答案1

SQL 服务器表达安装后默认不允许远程连接。

您需要采取一些额外步骤才能使其正常工作。

看看这个微软知识库文章如何执行此操作。该知识库文章是关于 SQL Server 2005 Express 的,但同样适用于 SQL Server 2008 R2 Express。

答案2

这与远程连接无关。应用程序和 SQL 服务器在同一台机器上运行。问题是应用程序与 SQL 服务器之间的连接尚未建立。

相关内容