无法与用户连接到本地数据库并传递凭据

时间:2014-07-16 10:24:24

标签: sql-server sql-server-2012

我尝试连接到本地SQL Server数据库,但它给了我这个错误:

  

用户' DOMAIN \用户名'。

的登录失败

当我打开SQL服务器并查看Security\Logins文件夹时,我确实看到了用户DOMAIN\Username。这也是我用来登录Windows的用户。

我的连接字符串如下所示:

<add name="ServerConfiguration"
       connectionString="server=localhost; database=BN_Configuration; 
       Integrated Security=false; User ID=DOMAIN\Username; Password=123456;" 
       providerName="System.Data.SqlClient" />

任何人都知道为什么我无法使用这些凭据登录?

-

注意我希望与SQL Server数据库中存在的用户进行身份验证。所以我不想在Integrated Security设置为false的情况下进行Windows身份验证。

2 个答案:

答案 0 :(得分:1)

您似乎使用Windows凭据作为SQL Server凭据。尝试使用integrated security = true,而不是指定用户ID和密码。

答案 1 :(得分:0)

在您的连接字符串中,Integrated Security=false表示在SQL Server中存在但不是域用户的帐户的连接中指定了用户ID和密码。当Integrated Security=true时,当前的Windows帐户凭据用于身份验证。如果它是一个应用程序,它将使用当前登录的用户,对于Web应用程序,它将取决于您的应用程序池的设置方式。

您正在混淆定义,称“Integrated Security = false”,但传递的域凭据是不可能的。

使用域帐户

  1. 设置Integrated Security=true
  2. 删除user idpassword部分。
  3. 在SQL Server中映射域帐户,确保设置Windows authentication
  4. 如果它是一个Web应用程序,请确保您的应用程序池设置为在该域帐户下运行。
  5. 使用SQL Server帐户

    1. 设置Integrated Security=false
    2. 创建SQL登录名,确保其使用SQL Server authentication
    3. 将连接字符串的User IDPassword属性设置为您在上面创建的相同详细信息。
    4. 注意:最后一点,确保用户也可以访问您要连接的数据库(在您的情况下为BN_Configuration)。