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

症状
当您通过使用“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 initstring
Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
User ID=clientID;
Data Source=tcp:TcpIpAddress,port

[oledb]
; Hardcoded Named Pipes OLE DB initstring
Provider=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

随机文章

  • 说电信的服务
  • META标签的常见用法
  • Hawaii Real Estate
  • 什么是Windows能干而Linux干不了的事情
  • ad:展示你的单身
  • xhtml和html之间的区别
  • 0 Responses to “尝试通过使用 TCP/IP 套接字连接到群集中的 SQL Server 命名实例时收到“SQL Server does not exist or access denied”(SQL Server 不存在,或者访问被拒绝)错误消息”


    1. No Comments

    Leave a Reply