使用 Windows 身份验证从另一台没有 Active Directory 的 PC 连接到 SQL Server

Nav*_*eet 5 authentication sql-server sql-server-2008-r2 connectivity

我在 PC 上安装了 SQL Server 2008 R2 Express。

我有一些其他 PC 连接到本地网络上的这台 PC。

目前,这些 PC 使用 SQL 身份验证连接到 SQL Server,但我希望它们使用 Windows 身份验证连接到 SQL Server。

我们没有 Active Directory 域。所有 PC 都是“WORKGROUP”工作组的一部分。

Han*_*non 3

如果所涉及的计算机都没有通过 Kerberos 启用 Active Directory 身份验证,这会阻止使用基于在线的 Microsoft 帐户(Windows 8 及更高版本),则假设您遵循以下几点,您应该能够使用 Windows 身份验证连接到 SQL Server:

  1. 确保 SQL Server 配置为使用 TCP 连接。
  2. 确保 Windows 防火墙已禁用或允许 SQL Server 连接。
  3. 安装 SQL Server 的计算机需要为所有将通过网络连接的人员提供 Windows 用户帐户。例如,如果 SQL Server 计算机名为 MyPC,并且您有将使用 SQL Server 的 User1、User2 和 User3,则 MyPC 必须为 User1、User2 和 User3 设置帐户,其密码与这些用户帐户使用的密码相同他们自己的电脑。
  4. 您在 SQL Server 中为这些用户帐户创建登录名,即:

    CREATE LOGIN [MyPC\User1] FROM WINDOWS;
    CREATE LOGIN [MyPC\User2] FROM WINDOWS;
    CREATE LOGIN [MyPC\User3] FROM WINDOWS;
    
    Run Code Online (Sandbox Code Playgroud)
  5. 客户端计算机可能需要使用服务器的 IP 地址而不是其名称来连接到服务器。如果服务器的 IP 地址是 192.168.0.100,并且它正在侦听端口 33333,那么他们将使用它作为连接到的服务器名称:

    tcp:192.168.0.100,33333
    
    Run Code Online (Sandbox Code Playgroud)

如果您遵循上述所有建议,然后在连接时收到以下错误,则客户端 PC 正在使用 Kerberos 身份验证,并且没有任何内容可以帮助您连接。

目标主体名称不正确。无法生成 SSPI 上下文。