为 Microsoft SQL Server 打开哪些端口?

为 Microsoft SQL Server 打开哪些端口?

我在网上搜索了几次关于如何通过 Windows 防火墙打开 SQL Server 连接的最佳方法,但还没有找到最佳方法。是否有人有可靠的方法可以找到 SQL 正在运行的端口,以便您可以在 Windows 防火墙中打开它们?

答案1

如果您只运行一个 SQL Server 实例,并且它为非本地连接启用了 TCP/IP 传输,那么它很可能会监听默认 TCP 端口:1433。

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

有关 SQL Server 和防火墙的相当详细的说明,请访问http://msdn.microsoft.com/en-us/library/cc646023.aspx

答案2

您需要启动浏览器服务来解析非默认实例。此外,打开 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

答案3

SQL Server 的默认端口是 1433

答案4

相关内容