首页主机资讯Ubuntu SQL Server如何进行远程连接

Ubuntu SQL Server如何进行远程连接

时间2026-01-20 01:53:04发布访客分类主机资讯浏览1357
导读:Ubuntu 上 SQL Server 远程连接实操指南 一 前置条件与安装 准备一台运行 Ubuntu 20.04/22.04 LTS x64 的服务器,内存至少 2 GB,磁盘可用空间 ≥ 6 GB,文件系统为 EXT4/XFS。 导...

Ubuntu 上 SQL Server 远程连接实操指南

一 前置条件与安装

  • 准备一台运行 Ubuntu 20.04/22.04 LTS x64 的服务器,内存至少 2 GB,磁盘可用空间 ≥ 6 GB,文件系统为 EXT4/XFS
  • 导入 GPG 密钥并添加 Microsoft 仓库,安装 SQL Server:
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-server-2019.list)"
    sudo apt-get update
    sudo apt-get install -y mssql-server
    sudo /opt/mssql/bin/mssql-conf setup
    
  • 安装命令行工具 sqlcmd/bcp(便于本机与远程验证):
    sudo apt-get update &
        &
         sudo apt-get install -y curl unixodbc-dev
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    sudo apt-get update
    sudo apt-get install -y mssql-tools unixodbc-dev
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >
        >
         ~/.bashrc
    source ~/.bashrc
    

以上步骤完成后,SQL Server 应处于运行状态,可用 systemctl status mssql-server 检查。

二 启用远程连接的关键配置

  • 启用 TCP/IP 并固定端口为 1433
    sudo /opt/mssql/bin/mssql-conf set network.tcpip-enable true
    sudo /opt/mssql/bin/mssql-conf set network.tcpip-port 1433
    sudo systemctl restart mssql-server
    
  • 如系统启用了 UFW,放行 1433/tcp
    sudo ufw allow 1433/tcp
    sudo ufw reload
    
  • 如使用 firewalld(部分云厂商默认使用 firewalld):
    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    
  • 云服务器安全组/NACL 需同时放行入站 TCP 1433(控制台配置)。
    完成以上后,SQL Server 将监听 0.0.0.0:1433,外部可尝试连接。

三 创建可远程登录的账户与权限

  • 建议创建专用 SQL 登录(而非长期使用 sa),并授予必要权限:
    -- 创建登录
    CREATE LOGIN remote_user WITH PASSWORD = 'YourStrong!Passw0rd';
        
    
    -- 允许从任意主机连接(生产环境可按需收紧为具体子网)
    EXEC sp_addsrvrolemember 'sysadmin', 'remote_user';
          -- 示例赋予 sysadmin,生产慎用
    
    -- 或仅授予某库读写
    USE your_db;
        
    CREATE USER remote_user FOR LOGIN remote_user;
        
    EXEC sp_addrolemember 'db_datareader', 'remote_user';
        
    EXEC sp_addrolemember 'db_datawriter', 'remote_user';
        
    

如需更细粒度权限,可按需创建自定义数据库角色并分配对象级权限。

四 从客户端连接与连通性测试

  • 本机/同网段验证(先确保本机能连上):
    sqlcmd -S 127.0.0.1,1433 -U remote_user -P 'YourStrong!Passw0rd' -Q "SELECT @@VERSION;
        "
    
  • Windows 远程连接 SSMS:服务器填写 IP,1433(例如:192.168.10.15,1433),身份验证选择 SQL Server 身份验证,输入上一步创建的用户名与密码。
  • 端口连通性测试(在客户端执行):
    telnet <
        服务器IP>
         1433
    # 或
    nc -vz <
        服务器IP>
         1433
    

若端口不通,请依次检查:服务器防火墙/云安全组、SQL Server 是否监听 1433、网络路由与端口是否被占用。

五 常见问题与排查要点

  • 服务未监听或配置未生效:确认 sudo systemctl status mssql-server 为 active,重启后再次检查端口监听。
  • 端口被占用:
    sudo ss -lntp | grep 1433
    
    如冲突,修改 network.tcpip-port 为未占用端口并同步防火墙放行规则。
  • 仅本地可连:再次确认已执行 network.tcpip-enable truenetwork.tcpip-port 1433,并重启服务。
  • 防火墙/安全组未放行:核对 UFW/firewalld 与云厂商安全组均放行 TCP 1433
  • 认证失败:核对用户名/密码、是否允许该登录从远程主机连接、密码策略与账户锁定状态。
  • 客户端工具版本过旧:更新 SSMS 或 ODBC 驱动,避免协议不兼容。
    以上为最常见的故障面,按“服务—端口—防火墙—账户—客户端”链路逐层排查,通常可快速定位。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu SQL Server如何进行远程连接
本文地址: https://pptw.com/jishu/786503.html
Ubuntu SQL Server安全防护怎么做 Linux vsftp版本更新:如何保持软件最新状态

游客 回复需填写必要信息