如何设置Windows防火墙允许用户通过TCP/IP协议访问SQL Server服务

如题所述

在运行SQL Server的服务器上,我们首先要找到当前SQL Server监听的TCP端口,并把该端口加到Windows防火墙允许访问的端口列表里面,因此用户可以通过该 端口访问SQL Server服务。
其次,如果用户没有在连接字符串中指定TCP端口并且SQL Server没有监听1433端口,我们需要启动SQL Server Browser服务,并把SQL Server Browser服务监听的UDP 1434端口加到Windows防火墙允许访问的端口列表里面。这是因为:
1. 如果在连接字符串中指定TCP端口,客户端的连接程序,像SQL Native Client就试图用该端口连接SQL Server服务,因此客户端的连接程序不需要SQL Server Browser服务在服务器端启动。
2. 如果在连接字符串中没有指定TCP端口,客户端的连接程序将发送一个UDP数据包给服务器端的UDP 1434端口。如果UDP 1434端口没有加入到防火墙的允许访问列表中,从而客户端的连接程序不能从服务器端得到SQL Server的监听端口。所以,客户端的连接程序这时会试图用TCP 1433端口去连接SQL Server服务,但如果SQL Server没有监听TCP 1433端口,这时连接会失败。在这种情况下,我们最好在服务器端把UDP 1434端口加入到Windows防火墙的允许访问列表中。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答