目录
第3章:SQL Server 网络配置
SQL Server 网络监听器
SQL Server 通过网络监听器来接收客户端的连接请求。网络监听器负责侦听特定端口上的连接请求,并将它们转发到适当的 SQL Server 实例。SQL Server 支持多种类型的网络监听器,包括默认实例监听器和命名实例监听器。
- 默认实例监听器:默认情况下,SQL Server 的默认实例绑定到 TCP 端口 1433。这意味着任何试图连接到该端口的客户端都将被引导到默认实例。
- 命名实例监听器:当安装 SQL Server 时选择了命名实例,那么每个实例都需要配置自己的端口或使用动态分配的端口。SQL Server Browser 服务可以帮助客户端发现这些命名实例及其对应的端口。
为了确保 SQL Server 正确接收连接请求,必须确保网络监听器正确配置并且处于活动状态。
SQL Server 网络协议
SQL Server 支持多种网络协议,每种协议都有其特点和适用场景。了解这些协议有助于选择最适合当前环境的配置。
- TCP/IP:最常用的网络协议之一,用于通过 Internet 或局域网 (LAN) 进行通信。SQL Server 默认使用 TCP/IP 协议来接收客户端连接。
- Named Pipes:一种轻量级的协议,适用于同一台计算机或 LAN 中的机器之间的通信。
- Shared Memory:仅适用于同一台计算机上的客户端连接,提供最快的连接速度。
- HTTP:允许通过 HTTP 或 HTTPS 协议访问 SQL Server。
为了确保 SQL Server 能够与客户端通信,需要启用相应的网络协议。例如,在大多数企业环境中,TCP/IP 协议是最常用的选择。
配置 SQL Server 网络协议
配置 SQL Server 的网络协议涉及几个步骤,包括启用或禁用特定协议、设置端口和配置网络监听器。以下是如何配置 SQL Server 网络协议的具体步骤:
-
打开 SQL Server Configuration Manager:
- 通过开始菜单或搜索找到并启动 SQL Server Configuration Manager。
-
选择网络协议:
- 在 SQL Server Configuration Manager 中,展开“SQL Server 网络配置”。
- 选择需要配置的 SQL Server 实例,然后选择需要启用或禁用的协议(例如,TCP/IP)。
-
启用或禁用协议:
- 对于需要使用的协议,确保其状态为“已启用”。
- 对于不需要使用的协议,可以选择“已禁用”。
-
配置 TCP/IP 端口:
- 如果使用 TCP/IP 协议,需要配置 TCP 动态端口或 TCP 端口。
- TCP 动态端口:使用动态端口意味着 SQL Server 将为每次连接选择一个随机的未使用端口。
- TCP 端口:可以设置一个固定的端口,例如 1433,作为默认的 SQL Server 端口。
- 如果使用默认端口 1433,通常不需要更改此设置。
- 如果需要使用自定义端口,可以在“IP 地址”标签页中设置。
- 如果使用 TCP/IP 协议,需要配置 TCP 动态端口或 TCP 端口。
-
配置 IP 地址:
- 在 TCP/IP 属性对话框中,选择“IP 地址”标签页。
- 可以为每个 IP 地址配置不同的设置,例如绑定到特定的 IP 地址或监听所有可用的 IP 地址。
- 对于每个 IP 地址,可以配置 TCP 端口、TCP 动态端口和是否允许远程连接。
-
配置 Named Pipes:
- 如果决定使用 Named Pipes 协议,需要确保其处于启用状态。
- 可以在“SQL Server 网络配置”中选择“Named Pipes 协议配置”,并将其状态设置为“已启用”。
-
配置 Shared Memory:
- Shared Memory 协议通常用于本地连接,可以保持启用状态。
- 如果不需要本地连接,可以禁用此协议以减少攻击面。
-
重启 SQL Server 服务:
- 完成网络配置后,需要重启 SQL Server 服务以使更改生效。
- 可以在 SQL Server Configuration Manager 中重启服务,或者手动重启 SQL Server 服务。
示例:配置 SQL Server 使用自定义端口
假设需要将 SQL Server 的 TCP 端口从默认的 1433 更改为 1434。以下是具体步骤:
- 打开 SQL Server Configuration Manager。
- 选择 TCP/IP 协议:
- 展开“SQL Server 网络配置” -> “协议的 [实例名称]” -> “TCP/IP”。
- 启用 TCP/IP:
- 确保 TCP/IP 协议的状态为“已启用”。
- 配置 TCP 端口:
- 在“IP 地址”标签页中,找到“IPAll”项。
- 将“TCP 端口”从 1433 更改为 1434。
- 如果需要,也可以配置“TCP 动态端口”。
- 配置 IP 地址:
- 确保“IP 地址”标签页中的所有 IP 地址都允许远程连接。
- 重启 SQL Server 服务:
- 在 SQL Server Configuration Manager 中重启 SQL Server 服务。
完成上述步骤后,SQL Server 将开始监听新的端口 1434 上的连接请求。客户端连接字符串也需要更新,以指向新的端口。
安全注意事项
在配置 SQL Server 网络协议时,还需要考虑安全因素:
- 防火墙规则:确保防火墙允许通过 SQL Server 监听的端口。
- 加密连接:使用 SSL/TLS 对连接进行加密,以保护数据的安全性。
- 最小权限原则:只允许必要的端口和服务暴露给外部网络。
- 审计和监控:定期审查网络配置和日志,以检测异常行为。