我在配置文件中有一个SQL Server连接字符串:
<add name="DbMaster" connectionString="Data Source=ServerName\NamedInstance;Initial Catalog=SomeDb;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
如果我从SQL Server所在的域运行,这很好,但是我在另一个域上收到以下错误:
System.Data.SqlClient.SqlException:An 建立时发生错误 与服务器的连接。什么时候 连接到SQL Server 2005,这个 失败可能是由于这一事实造成的 在SQL Server的默认设置下 不允许远程连接。 (提供者:SQL网络接口, 错误:26 - 错误定位 指定的服务器/实例)
域之间存在信任。
我尝试了以下但没有成功:
<add name="DbMaster" connectionString="Data Source=ServerName.DOMAIN.COM\NamedInstance;Initial Catalog=SomeDb;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
我可以ping ServerName.DOMAIN.COM。
我尝试使用SQL Server Management Studio连接到不同域上的SQL Server,但收到了与上面相同的错误。
有什么明显的事我做错了吗?
答案 0 :(得分:3)
如果Management Studio向您提供相同的错误,则问题不在于您的应用程序。问题出在您的SQL Server配置上。
域之间的信任未正确配置为跨域启用集成安全性,或者SQL Server未正确配置为允许远程连接(如错误消息状态)。
跨域的集成安全性通常比它的价值更麻烦。使用SQL Server身份验证可以减轻您的大部分麻烦。