1. 概述
在许多情况下,我们需要将MSSQL数据库开放到外部,以便能够从其他设备或服务器访问该数据库。但是,MSSQL默认情况下不开放外部端口。因此,我们需要进行配置以便能够高效地开放MSSQL数据库的外部端口。
2. 开放端口
2.1 确认端口号
在开放MSSQL数据库外部端口之前,我们需要确认数据库的端口号。在默认情况下,MSSQL数据库使用1433端口。但是,如果您的数据库管理员更改了端口号,则需要知道新的端口号。
在SQL Server Configuration Manager中查找TCP / IP选项卡,选择IP地址选项卡,查找端口设置。
SELECT name, protocol_desc, port
FROM sys.tcp_endpoints
WHERE type_desc = 'DATABASE_MIRRORING'
;
2.2 开放防火墙端口
在确认MSSQL数据库端口号之后,我们需要在防火墙中开放该端口。这可以通过在安全组或防火墙规则中添加入站规则来完成。确保只允许来自特定IP地址的流量通过。
在Windows防火墙中添加入站规则的方法如下:
打开“Windows Defender防火墙与高级安全”
选择“入站规则”选项卡
选择“新建规则”
选择“端口”选项,并选择MSSQL数据库使用的端口
选择“允许连接”选项
选择“特定的本地地址”选项,输入允许访问MSSQL数据库的IP地址
为该规则分配名称并保存
3. 检查访问问题
3.1 确认MSSQL数据库允许远程连接
默认情况下,MSSQL数据库禁止远程连接。如果您尝试从远程计算机连接MSSQL数据库并收到连接错误,则有可能是因为数据库未被配置为允许远程连接。
在SQL Server Management Studio中检查“允许远程连接”选项。确保该选项已启用。启用可通过以下步骤完成:
在SQL Server Management Studio中打开“工具”选项卡
选择“选项”
选择“连接”选项卡
确保“允许远程连接到此服务器”选项已启用
3.2 确认SQL Server Browser服务启用
SQL Server Browser服务为数据库客户端提供名称管道信息。该服务使用UDP端口1434。在一些情况下,客户端无法通过名称访问SQL服务器,这可能是因为SQL Server Browser服务未启用。
要启用SQL Server Browser服务,可以执行以下步骤:(注意:确保已知晓名称管道的名称,格式为:server\instance)
按下Windows键+R,在打开的框中输入services.msc
查找SQL Server Browser服务,右键单击服务并选择“属性”
选择“常规”选项卡
在“启动类型”下拉列表中选择“自动”
单击“启动”按钮并保存更改
3.3 使用正确的连接字符串
无论是从本地还是远程计算机连接到MSSQL数据库,都需要使用正确的连接字符串。连接字符串形式为:
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;
确保以下项正确设置:
myServerName:要访问的MSSQL服务器的名称或IP地址
myInstanceName:MSSQL服务器上安装的实例的名称
Database:要访问的数据库名称
myUsername:访问数据库的用户名
myPassword:访问数据库的密码
4. 总结
开放MSSQL数据库的外部端口可以促进跨设备之间的数据共享,但是必须谨慎开放相应的端口以确保安全性。通过检查MSSQL数据库的端口号、防火墙规则、远程连接选项、SQL Server Browser服务和连接字符串等方面,可以高效地开放MSSQL数据库的外部端口。