2010-01-21 269 views
1

我试图连接到服务器上的命名SQL实例。 已经有SQL Server 2005的默认实例和一个新命名的实例--SQL Server 2008.我使用“网络库”属性来使用TCP连接,但由于某种原因,他尝试连接默认实例并省略错误关于登录错误。SQL Server连接字符串问题

如果我删除网络库propery连接建立以及没有任何错误。

我正在使用Windows身份验证并具有所需的所有权限。

有问题的连接字符串:

数据源=服务器\实例,1433;网络库= DBMSSOCN;初始目录= MyDataBaseName;集成安全= SSPI

工作连接字符串:

Data Source = ServerName \ InstanceName; Initial Catalog = MyDataBaseName; Integrated security = SSPI

省略,1433;从所述连接字符串网络库= DBMSSOCN产生差别。添加它使服务器连接deafult实例。 这两个服务器都允许远程连接。

我想明白为什么,请。 由于提前,

塔米尔

+0

您也从工作连接字符串中删除了端口号,该端口号是默认实例将在其上侦听的默认端口 – slugster 2010-01-21 09:55:19

+0

是,谢谢,我也删除它也:),对不起,如果不明确 – Tamir 2010-01-21 10:07:32

+0

顺便说一句,这可能是更适合于serverfault.com – ConcernedOfTunbridgeWells 2010-01-21 10:25:28

回答

3

从我上your question on ServerFault答案抄...

连接字符串有2个差异,所以我会尽量回答这个...

  • 命名实例不会在端口1433(仅通过,呃默认实例,默认值)听
  • 时指定

因此端口实例名称被忽略:

  • ServerName\InstanceName,1433表示连接到端口1433上的服务器“ServerName”
  • ServerName\InstanceName表示连接到服务器“Serv erName“并解析实例名称以更正端口(解析使用端口1434 UDP)

但是,network library=dbmssocn表示使用tcp。它可能是SQL Server实例(请参阅端口的东西)不在tcp上监听

1

在猜测2005年和2008年的情况下,将不同的端口上侦听。也许您需要将SQL Server 2008实例的连接字符串设置为正确的端口;您可能会碰到SQL Server 2005侦听器,并要求它提供2005安装时不存在的实例。

SQL Server 2008实例侦听的端口是 - This article discusses the subject.并且有一个powershell脚本,它实际询问系统以找出DBMS真正监听的端口。它还谈论了一些关于这个配置在注册表中的位置。