0

我有一个 ASP.NET Web 应用程序和在同一台服务器上运行的 Windows 服务。他们都需要使用以下代码连接到同一个数据库:

using (SqlConnection cn = new SqlConnection(strDBConnect))
{
    cn.Open();

    //And so on...
}

但是当我尝试从服务连接时,它给了我这个异常:

“无法打开用户默认数据库。登录失败。\r\n用户 'NT AUTHORITY\SYSTEM' 登录失败。”

我用于两者的连接字符串是,但在实际部署服务器上可能会有所不同:

数据源=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='C:\Users\User\Databases\App_Data\Database1.mdf';用户实例=true;连接超时=15

所以我假设我需要在连接字符串中添加一些共享参数。所以我的问题是,如何确保多个进程可以连接到 SQL Server 数据库?

4

1 回答 1

0

创建特定用户。

使用此用户作为 App Pool 的身份

将此用户用作服务的身份。

将此用户添加到具有必要权限的 sql server。

于 2013-04-05T09:11:38.790 回答