我正在使用用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身份验证模式下使用。
现在,解决方案是什么?
答案 0 :(得分:0)
您需要从连接字符串中删除 Integrated Security=SSPI;
(这就是说:使用Windows身份验证)。
Data Source=[ip],1433;Network Library=DBMSSOCN;Initial Catalog=[db];User ID=sa; Password=[pass];MultipleActiveResultSets=True
如果您的连接字符串中同时包含Integrated Security=
和明确的用户/密码,则集成的安全性获胜 - 将其删除,您应该很好。
PS:我强烈建议 从不 使用sa
帐户 - 即使在开发和测试中也是如此!