1

我正在使用用 Visual Studio 编写的程序连接到域上的远程 SQL Server 实例(Windows Server 2008)。域管理员不允许对 SQL Server 使用 Windows 身份验证系统。当我使用 SQL Server 身份验证时,我收到此错误

登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。

我的连接字符串是:

Data Source=[ip],1433;Network Library=DBMSSOCN;Initial Catalog=[db];Integrated Security=SSPI;User ID=sa; Password=[pass];MultipleActiveResultSets=True

当我在我的系统(客户端)上使用 Management Studio 时,我可以使用 SQL Server 身份验证连接到服务器上的数据库。

我还尝试使用 ip 连接到本地数据库,使用此连接字符串的端口

Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Initial Catalog=[db];Integrated Security=SSPI;User ID=sa; Password=[pass];MultipleActiveResultSets=True

我得到了同样的错误。

注意:我已经为端口 1433 添加了入站规则。在域服务器上关闭防火墙的 OTOH 没有什么比这更好的了。

在网上搜索解决方案时,我找到了该setspn命令,但如果我是真的,它会在 Windows 身份验证模式下使用。

现在,解决方案是什么?

4

1 回答 1

0

您需要从连接字符串中删除Integrated Security=SSPI;也就是说:使用 Windows Authentication)。

Data Source=[ip],1433;Network Library=DBMSSOCN;Initial Catalog=[db];User ID=sa; Password=[pass];MultipleActiveResultSets=True

如果您Integrated Security=的连接字符串中同时包含 和明确的用户/密码,则集成安全性获胜- 将其删除,您应该会很好。

PS:我强烈建议永远不要使用该sa帐户-即使在开发和测试中也不行!

于 2013-07-01T15:28:48.290 回答