通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库

简介: 原文: 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库 本文适用于:2005、2008、2008R2所有版本 为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以下几点: 在SQLServer所运行的服务器上,我们必须找到SQLServer所侦听的端口然后添加到WIndows防火墙的【允许入站】中。
原文: 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库

本文适用于:2005、2008、2008R2所有版本

为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以下几点:

在SQLServer所运行的服务器上,我们必须找到SQLServer所侦听的端口然后添加到WIndows防火墙的【允许入站】中。

一:需要添加SQLServer的端口到防火墙的入站规则中。

二:如果无法确定连接字符串的端口或者SQLServer没有侦听TCP 1433端口,就要把SQLServer Browser服务所侦听的UDP 1434端口添加到Windows防火墙中。这是因为:

a)、如果TCP端口被连接字符串明确指定了,那么像SQL Native Client这样的连接提供程序将会使用这个端口来连接SQLServer,所以此时不需要SQLServer Browser服务去查找SQLServer所侦听的相应端口。

b)、如果端口未被连接字符串显式定义,那么连接提供程序会发送UDP 包到1434端口。所以,如果1434端口没有在Windows防火墙开启的话连接提供程序将得不到SQLServer所侦听的相应的TCP端口。然后,连接提供程序将只用1433来连接SQLServer。如果此时SQLServer未侦听1433端口,则会返回失败。所以也需要将UDP1433端口加入到Windows防火墙的入站规则中。


为了找出SQLServer锁监听的端口,可以使用以下步骤:

1、打开SQLServer 配置管理器

2、在SQLServer网络配置节点下,点击对应实例名的协议。双击TCP/IP→切换到【IP地址】选项卡,你可以从中找到所有SQLServer所侦听的每个IP地址的端口或所有IP地址指定的端口。


注意:如果SQLServer侦听动态端口,将会在每次重启后该表。所以,你必须找到它当前侦听的端口,然后添加到Windows防火墙中。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章