文章编号: 287932 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

本文介绍了 Microsoft SQL Server 需要通过防火墙进行通信的 TCP/IP 端口号。默认 SQL Server 端口为 1433,和客户端端口设置为 1024年和 5000 之间的随机值。

有关 SQL Server 需要的端口号的详细信息,请参阅本文的"更多信息"部分。

更多信息

SQL Server 是 Winsock 应用程序通过使用套接字网络库通过 TCP/IP 进行通信。SQL Server 侦听特定的端口上的传入连接。SQL Server 的默认端口为 1433年。端口不需要有 1433,但 1433年是 SQL Server 的官方互联网分配编号机构 (IANA) 插槽号。

客户端应用程序与 SQL Server 使用 Dbmssocn.dll (或 Dbnetlib.dll 的 SQL Server 2000年) 的客户端网络库,并使用 Microsoft 数据访问组件 (MDAC) 2.6 任何客户端进行通信。

在客户端建立 TCP/IP 连接,三方握手会发生。客户端打开一个源端口并向目标端口这是默认的 1433年) 发送通信量。在使用客户端的源端口是随机的但大于 1024年。默认情况下,当应用程序请求的套接字从出站呼叫,系统将提供值 1024年和 5000 之间的端口号码。有关详细信息,请参阅下面的 Microsoft 网站:
Microsoft Windows 2000 TCP/IP 实现详细信息
服务器 (在这种情况下,SQL Server) 通过来自 1433年的通信发送回客户端建立的端口传递到客户端。

看到这种情况的最好办法是使用 Microsoft 网络监视器或网络嗅探器工具跟踪客户端-服务器通信。若要配置防火墙,您必须允许通信量从 * ANY * 到 1433,以及从 1433 到 * ANY *,其中 * ANY * 是大于 1024年的端口。

除了使用 Microsoft 网络监视器,您可以使用 TCP/IP Netstat 实用工具来说明这种现象。发出netstat-an命令从 MS-DOS 命令窗口将生成下列结果显示三个已建立的连接到 SQL Server。本示例使用 157.54.178.42 作为 SQL Server,使用 157.54.178.31 的 IP 地址的客户端 IP 地址。客户端打开端口分别是 1746年、 1748年和 1750年。
Proto   Local Address          Foreign Address        State
 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
					
防火墙软件应允许通过使用规则发生此动态分配。如果是这样,您可以配置连接到 1433 * ANY *"建立"。将后跟 syn/ack statefull 数据包检查通过 syn 动态打开响应端口。

没有任何方法可以限制用于 SQL Server 客户端进行连接 ; 源 TCP 端口数这可能会削弱采用客户端分配一个新的、 未使用的动态端口。这是一种 TCP/IP 标准,定义用于 Winsock 应用程序 ;这不是 SQL Server 客户端通信的局限性。

此外,SQL Server 2000年的命名的实例将使用默认的动态目标端口。为固定端口配置防火墙之前,应该更改此端口。SQL Server 网络实用工具应该用于配置的目标端口。有关如何使用 SQL Server 网络实用工具的信息,请参阅 SQL Server 联机丛书。

否则为客户端计算机必须打开随机的 UDP 端口和 UDP 端口 1434年的服务器将用于发送实例名称,并且实例配置为群集系统,如果版本的 SQL 实例,将 TCP 端口编号,该实例侦听和实例正在使用的命名的管道。但是,如果目标是最大限度地打开防火墙上的端口数,一个静态端口号应选择默认实例和任何命名的实例。需要客户端计算机配置为连接到特定的服务器名称或服务器名称实例和特定的端口号。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
216415 如何: 设置 SQL Server 代理服务器
148942 如何捕获网络通信要使用网络监视器
169292 读取跟踪 TCP/IP 的基础知识
269882 如何: 使用 ADO 连接到 SQL Server,位于防火墙后面

属性

文章编号: 287932 - 最后修改: 2013年11月19日 - 修订: 7.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 2000 标准版
关键字:?
kbsqlsetup kbinfo kbmt KB287932 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 287932
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com