在现代应用程序中,数据库的远程访问是一个常见的需求。在使用 SQL Server 2019 时,将数据库服务器设置为允许远程访问需要进行多方面的配置,包括 SQL Server 的设置、Windows 防火墙的配置、以及云服务提供商(如 AWS、Azure、GCP 等)的安全组规则设置。本文将详细介绍如何完成这些配置,确保你的 SQL Server 数据库可以被外网访问。

一、配置 SQL Server 2019 以支持远程连接

  1. SQL Server 配置管理器: 首先,打开 SQL Server 配置管理器,确保 SQL Server 实例正在运行。接下来,找到“SQL Server 网络配置”,然后选择你的 SQL Server 实例。

  2. 启用 TCP/IP: 在 TCP/IP 属性中,设置“状态”为“启用”,并在“IP 地址”选项卡下,确保“TCP 动态端口”为空,“TCP 端口”填写 1433(这是 SQL Server 的默认端口)。

sql -- 示例显示配置 USE master; GO EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'remote access', 1; RECONFIGURE;

  1. SQL Server 身份验证模式: 确保 SQL Server 配置为支持混合身份验证模式(SQL Server 和 Windows 身份验证)。可以通过 SQL Server Management Studio(SSMS)连接到 SQL Server,右键点击服务器实例,选择“属性”,在“安全性”选项卡中选择“SQL Server 和 Windows 身份验证模式”。

  2. 创建用户账号: 你需要为远程用户创建 SQL Server 登录。在 SSMS 中,展开“安全性”文件夹,右键点击“登录”,选择“新建登录”:

  3. 登录名:例如 remote_user
  4. 身份验证:选择 SQL Server 身份验证并设定密码
  5. 授予必要的权限,比如 db_datareader 或 db_datawriter

二、配置 Windows 防火墙

如果 SQL Server 正运行在 Windows 服务器上,需要允许 SQL Server 的访问端口(默认是 1433)通过防火墙。可以通过以下步骤设置:

  1. 打开“控制面板”,选择“系统和安全” > “Windows Defender 防火墙”。
  2. 点击“高级设置”,在“入站规则”中,选择“新建规则”。
  3. 选择“端口”,点击“下一步”,输入“特定本地端口”并填入 1433。
  4. 选择“允许连接”,然后为规则命名,完成设置。

三、设置云服务提供商的安全组规则

如果你的 SQL Server 部署在云平台上,如 AWS 或 Azure,还需要确保设置好安全组或网络安全规则。

AWS 示例:

  1. 登录 AWS 管理控制台,访问 EC2 控制台。
  2. 找到与 SQL Server 实例关联的安全组。
  3. 在“入站规则”中,添加一条规则:
  4. 类型:MySQL/Aurora(或自定义 TCP)
  5. 协议:TCP
  6. 端口范围:1433
  7. 来源:设置为允许访问的 IP 地址范围(如0.0.0.0/0 允许所有 IP 访问,但不建议在生产环境中使用,最好限定 IP 范围)。

Azure 示例:

  1. 登录 Azure 门户,找到你的 SQL Server 实例。
  2. 在“设置”菜单中,选择“网络”。
  3. 在“入站端口规则”中,添加一条新的规则,设置相同的端口和 IP 范围。

四、测试连接

完成上述所有设置后,你可以使用 SQL Server Management Studio 从外部网络连接到你的 SQL Server 数据库,使用你创建的 remote_user 账号。

-- 连接字符串示例
Server=myServerAddress,1433;Database=myDataBase;User Id=remote_user;Password=myPassword;

结论

通过以上步骤,您应该能够成功配置 SQL Server 2019,以支持远程访问。在实际生产环境中,请务必考虑安全性,确保使用强密码,并限制远程访问的 IP 范围,以减少潜在的安全风险。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部