SQL Server 连接字符串问题

SQL Server 连接字符串问题

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

如果我删除网络库属性,连接也会建立,并且不会出现任何错误。

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

有问题的连接字符串:

数据源 = ServerName \ InstanceName,1433;网络库 = dbmssocn;初始目录 = MyDataBaseName;集成安全性 = SSPI

工作连接字符串:

数据源 = ServerName \ InstanceName;初始目录 = MyDataBaseName;集成安全性 = SSPI

我想了解一下原因。提前谢谢您,

塔米尔

答案1

连接字符串有 2 个不同之处,所以我会尝试回答这个问题......

  • 命名实例不监听端口 1433(只有默认实例才会监听)
  • 指定端口时实例名称将被忽略

所以:

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

但是,network library=dbmssocn这意味着使用 tcp。可能是 SQL Server 实例(请参阅端口内容)没有侦听 tcp

相关内容