为Microsoft SQL Server打开哪些端口?


13

搜索过通过Windows防火墙打开SQL Server连接的最佳方法几次后,我还没有找到一种最佳方法。有没有人可以保证找到正在运行SQL的端口的方式,以便可以在Windows防火墙中打开它们?

Answers:


14

如果您仅运行一个SQL Server实例,并且为非本地连接启用了TCP / IP传输,则它很可能在默认的TCP端口1433上进行侦听。

如果您有多个实例,或者除“单个默认实例”之外还有其他复杂情况,那么事情可能会更加复杂。您将需要为每个实例设置端口(默认情况下,它们是半随机的,通常对防火墙配置没有帮助),并且还需要打开SQL Browser服务(通常会监听UDP端口1434,尽管这样做也可以)重新配置)。

http://msdn.microsoft.com/zh-cn/library/cc646023.aspx上,有关于SQL Server和防火墙的一组相当详细的说明。


4

您将需要启动浏览器服务来解析非默认实例。此外,打开UDP 1434将允许按名称而不是端口解析命名实例,因此您无需使用端口。如果您不满意长期打开UDP 1434,或者您有一个DBA在现场并且可以本地连接,则可以要求他们通过SQL Server Mgmt Studio或SQLCMD进行连接,并指定服务器连接,如下所示:

tcp:服务器名称\实例名称

使用tcp前缀将强制进行tcp连接。完成此操作后,您可以连接到命名实例并查询sys.dm_exec_connections来查找非默认实例运行的端口,如下所示:

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID



0

2
您可以将链接的相关部分添加到答案中吗?我们要求这样做可以帮助OP,因此他们不必搜索可能与他们无关的信息。如果主机站点出现故障,这也可以保留相关信息。有关更多信息,请参见此meta post
Cfinley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.