【发布时间】:2014-02-12 14:24:41
【问题描述】:
我的本地计算机上有两个 SQL Server 实例。他们都监听不同的端口。我安装的第一个实例在默认端口上运行:1433。我已将另一个实例设置为侦听端口 1434。
我的应用程序正在使用一些旧的共享代码来生成连接字符串。所以直到现在我才真正知道那里发生了什么。由于一项新要求,我发现自己需要检查用于连接 SQL Server 的连接字符串。
我发现,为连接到每个 SQL 实例而构建的连接字符串不包括网络库,也不包括端口号作为数据源的一部分。数据源刚刚设置为<Server Name>/<Instance Name>。我确实在 MS 文档中发现,如果不包含网络库,则将其视为 (local),但并没有真正解释如何处理 (local)。
所以我的问题是为什么这种格式的连接字符串能够连接到在非默认端口上运行的 SQL Server 实例?这仅在实例位于本地计算机或本地网络上时才有效吗?如果服务器是远程的,我可以把<ip>/<sql instance>不带端口吗?
我只需要弄清楚它是如何工作的,什么时候需要端口号,什么时候是可选的,因为我试图让我的连接 UI 对我们的用户来说尽可能简单。
【问题讨论】:
标签: sql-server