我需要从未加入域的 Windows 7 计算机连接到 SQL Server 2005。这在 XP 上一直有效,但在 Win7 上出现以下错误(通过 TCP/IP 连接时):
用户 '' 登录失败。用户未与受信任的 SQL Server 连接关联。
服务器上的事件日志有错误:
SSPI 握手失败,错误代码为 0x8009030c,同时建立具有集成安全性的连接;连接已关闭。[客户:(myip)]
用户 '' 登录失败。用户未与受信任的 SQL Server 连接关联。[客户:(myip)]
如果我使用短名称或 FQ 服务器名称,则错误保持不变。我还输入了服务器的 Windows 凭据(因为我没有连接到域)。与服务器的连接正常(我可以访问网络共享)。
我花了几个小时试图解决这个问题,但到目前为止我只找到了两种解决方法:
- "runas.exe /netonly /user:[email protected] QueryExpress.exe" 这将允许我使用 TCP/IP 与正确的用户连接。
- 或使用命名管道而不是 TCP/IP。
这两个选项都不理想(也不是所有服务器都启用了命名管道)。
是否可以在没有 runas 的情况下使用 TCP/IP 进行身份验证?
您要么必须将计算机名/登录 ID 添加到 SQL Server,要么将其从 Windows 身份验证模式更改为 SQL Server 和 Windows 身份验证模式。