Select the product you need help with
INF:通过防火墙与 SQL Server 进行通信所需的 TCP 端口文章编号: 287932 - 查看本文应用于的产品 本文的发布号曾为 CHS287932 概要 本文介绍通过防火墙与 SQL Server 进行通信所需的最少的 TCP/IP 端口。 更多信息 SQL Server 是 Winsock 应用程序,它使用套接字网络库通过 TCP/IP 进行通信。SQL
Server 侦听特定端口上的传入连接;SQL Server 的默认端口是 1433。该端口不必是 1433,但 1433 是用于 SQL Server
的正式 Internet 号码分配机构 (IANA) 套接字编号。 客户端应用程序使用客户端网络库 Dbmssocn.dll(对于 SQL Server 2000 则为 Dbnetlib.dll)与 SQL Server 通信,使用 Microsoft 数据访问组件 (MDAC) 2.6 与任何客户端通信。 客户端建立 TCP/IP 连接时,会进行三向握手。客户端打开一个源端口并向目标端口(默认情况下是 1433)发送通信量。使用中的客户端源端口是随机的,但它大于 1024。默认情况下,在应用程序从系统为传出呼叫请求套接字时,会提供一个介于值 1024 和值 5000 之间的端口。有关详细信息,请访问下面的 Microsoft Developer Network (MSDN) 网站的“Microsoft Windows 2000 TCP/IP 实现详细信息”: http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.mspx 然后服务器(在本例中是 SQL Server)通过将通信量从 1433 发送回客户端建立的端口与客户端通信。
(http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.mspx)
观察此行为的最佳方式是通过使用 Microsoft 网络监视器或网络嗅探器工具,跟踪客户端与服务器之间的通信。要配置防火墙,您必须允许从 *ANY* 到 1433 和从 1433 到 *ANY* 的通信量,其中 *ANY* 是一个大于 1024 的端口。
*ANY* -> 1433 除了使用 Microsoft 网络监视器之外,您还可以使用 TCP/IP Netstat 实用工具说明此操作。通过从 MS-DOS
命令窗口发出 netstat -an 命令,可以生成以下结果,显示三个与 SQL Server 已建立的连接。此示例使用 157.54.178.42 作为 SQL
Server 的 IP 地址,使用 157.54.178.31 作为客户端 IP 地址。客户端打开的端口分别是 1746、1748 和 1750。 1433 -> *ANY* 协议 本地地址 外部地址 状态 TCP 157.54.178.42:1433 0.0.0.0:0 LISTENING TCP 157.54.178.42:1433 157.54.178.31:1746 ESTABLISHED TCP 157.54.178.42:1433 157.54.178.31:1748 ESTABLISHED TCP 157.54.178.42:1433 157.54.178.31:1750 ESTABLISHED 没有任何方法可以限制用于要连接的 SQL Server 客户端的源 TCP 端口的数目;因此,客户端将不必分配新的、不使用的动态端口。这是为 Winsock 应用程序定义的 TCP/IP 标准,而不是 SQL Server 客户端通信的限制。 此外,SQL Server 2000 的命名实例默认情况下将使用动态目标端口。此端口应在配置防火墙前更改为固定端口。应使用 SQL Server Network 实用工具来配置目标端口。有关如何使用 SQL Server 网络实用工具的信息,请参见“SQL Server 联机图书”。 否则,客户机必须打开随机的 UDP 端口,并且将使用服务器 UDP 端口 1434 来发送实例名称;如果该实例是群集的,则发送 SQL 实例的版本、该实例正侦听的 TCP 端口号以及该实例正使用的命名的管道。但是,如果目的在于使防火墙上打开的端口的数目降至最低,则应选择静态的端口号来用于默认的实例和任何命名的实例。将需要把客户机配置为连接到特定 ServerName 或 ServerName 实例和特定端口号。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 216415
(http://support.microsoft.com/kb/216415/
)
如何使用 Proxy Server 安装 SQL Server
148942
(http://support.microsoft.com/kb/148942/
)
如何使用网络监视器捕获网络通讯量
169292
(http://support.microsoft.com/kb/169292/
)
关于读取 TCP/IP 跟踪的基础知识
269882
(http://support.microsoft.com/kb/269882/
)
如何使用 ADO 连接到防火墙后的 SQL Server
属性文章编号: 287932 - 最后修改: 2011年5月16日 - 修订: 6.0
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 | 文章翻译
|


回到顶端








