您的位置:首页 > 理论基础 > 计算机网络

尝试通过使用 TCP/IP 套接字连接到群集中的 SQL Server 命名实例时收到“SQL Server does not exist or access denied”(SQL Server 不存在,或者访问被拒绝)错误消息

2006-10-03 13:43 1926 查看

症状

当您通过使用“servername/instancename”语法尝试连接到群集环境中的 Microsoft SQL Server 2005 或 Microsoft SQL Server 2000 命名实例时,收到以下错误消息:[DBNETLIB][ConnectionOpen (Connect()).]SQL Server SQL Server 不存在,或者访问被拒绝。出现以下情况时,可能会收到此错误消息:
SQL Server 2005 或 SQL Server 2000 安装在群集中。
您正在通过使用 TCP/IP 套接字连接到 SQL Server 命名实例。
客户端域上启用了 IPSec 策略。
服务器域上没有启用 IPSec 策略。

原因

此问题在连接的发现阶段出现。当源 IP 更改时,客户端上的 IPSec 策略会丢弃来自服务器的数据包。

替代方法

要变通解决此问题,必须硬编码 TCP 端口或 SQL Server 命名实例的命名管道。为此,请使用与以下某一内容类似的连接字符串:
[oledb]; Hardcoded TCP OLE DB initstringProvider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=clientID;Data Source=tcp:TcpIpAddress,port[oledb]; Hardcoded Named Pipes OLE DB initstringProvider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=clientID;Data Source=np://ServerName/pipe/MSSQL$InstanceName/sql/query

状态

Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。

更多信息

有关如何解决 SQL Server 2000 中的连接问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:827422 (http://support.microsoft.com/kb/827422/) 如何解决 SQL Server 2000 中的连接问题这篇文章中的信息适用于:
Microsoft SQL Server 2000 标准版
Microsoft SQL 2005 Server Enterprise
Microsoft SQL Server 2005 Standard Edition
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐