在不指定端口的情况下连接到 SQL Server

Luk*_*uke 6 sql-server sql-server-2008-r2

我正在尝试使用一个看起来很糟糕的应用程序,它连接到我指定的 SQL Server 数据库。

如果不使用逗号指定端口,我似乎无法连接到我希望使用的 SQL Server 实例,例如 DBServer\DBInstance,<port_number>

现在,这导致的问题,以及为什么我认为应用程序写得不好,是由于某种原因,应用程序认为端口号是数据库的名称,而服务器\实例名称是DBServer\DBInstance. 我相信它不会期望必须处理这样的端口号。

现在,我以前使用过不需要指定端口号的 SQL Server 实例。我知道这一定是 SQL Server 配置管理器中 TCP/IP 设置下的一些设置,我尝试将端口设置为默认 1433 以及打开动态端口,但这些都不起作用。

我对 SQL Server 还是很陌生,如果有人能指出我正确的方向,我将不胜感激。

编辑

按照 Ste Bov 的回答解决了问题后,我现在也知道为什么应用程序无法处理指定的端口。在内部,应用程序将其数据存储在一个临时的 csv 文件中,并没有费心检查逗号的输入或将其括在引号中,因此当它来到 csv 中的端口时,它认为它是下一个应该的字段是数据库名称。

所以是的,确实是一个写得很糟糕的应用程序!

Ste*_*Bov 9

如果您已命名实例并且不想声明您的端口,那么您需要确保 SQL Server Browser 正在运行

默认情况下,这通过端口 UDP 1434 运行


Han*_*non 5

@Ste Bov是正确的,在运行 SQL Server 的服务器上启用 SQL Server Browser Service;但是如果你不想或者不能使用该服务的一些原因,你可以连接到使用的IP地址和端口号的实例,就像TCP:x.x.x.x,y这里x.x.x.x是IP地址,并且y是端口。您也可以指定连接的TCP:hostname,port,这里hostname刚刚的服务器名称(即不包括实例名称)。