温馨提示×

Ubuntu SQL Server配置指南

小樊
31
2025-12-20 02:21:07
栏目: 云计算

Ubuntu 上配置 Microsoft SQL Server 的完整指南

一 环境准备与版本选择

  • 支持的系统与版本:Ubuntu 18.04(SQL Server 2017/2019/2022)Ubuntu 20.04(SQL Server 2019/2022)Ubuntu 22.04(SQL Server 2022)。建议至少 2 GB 内存
  • 免费许可版本:Express、Developer、Evaluation
  • 不支持的安装目标:Windows Subsystem for Linux(WSL)
  • 建议在生产前规划:实例端口(默认 1433/TCP)、数据目录、代理作业、备份策略与高可用方案。

二 安装与首次配置

  • 导入 GPG 密钥并添加软件源(以 Ubuntu 22.04 + SQL Server 2022 为例,其他版本替换为对应代号与仓库):
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"
    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  • 运行配置向导,设置 SA 密码并选择版本:
    sudo /opt/mssql/bin/mssql-conf setup
    
  • 验证服务状态:
    systemctl status mssql-server --no-pager
    
  • 防火墙放行(如使用 UFW):
    sudo ufw allow 1433/tcp
    
  • 安全建议:首次以 SA 登录后,创建具备 sysadmin 权限的新登录并禁用 SA 账户。

三 命令行工具与本地连接

  • 安装命令行工具(mssql-tools18):
    curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    sudo apt-get update
    sudo apt-get install -y mssql-tools18 unixodbc-dev
    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    
  • 本地连接测试(将 替换为实际密码):
    sqlcmd -S localhost -U sa -P '<password>'
    
  • 若连接失败且为本地回环,可临时使用不强制加密参数排查:
    sqlcmd -S localhost -U sa -P '<password>' -No
    
  • 远程连接时,将 -S 指定为服务器 IP/主机名,并确保 1433/TCP 已放行。

四 常用配置与运维

  • 启停与重启服务:
    sudo systemctl start mssql-server
    sudo systemctl stop mssql-server
    sudo systemctl restart mssql-server
    
  • 启用 SQL Server Agent(用于备份/作业调度):
    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    sudo systemctl restart mssql-server
    
  • 修改默认数据/日志目录(示例将数据目录改为 /home/d/mssql/data):
    sudo mkdir -p /home/d/mssql/data
    sudo chown mssql:mssql /home/d/mssql/data
    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /home/d/mssql/data
    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir  /home/d/mssql/data
    sudo systemctl restart mssql-server
    
  • 连接与认证要点:默认端口 1433/TCP;远程访问需放行防火墙;新实例建议创建 SQL 登录 加入 sysadmin 并禁用 SA;密码需满足复杂度策略(至少 8 个字符,包含大小写字母、数字、符号中至少 3 类)。

五 常见问题与快速排查

  • 无法远程连接:确认云安全组/本机防火墙已放行 1433/TCP,SQL Server 正在运行,且客户端使用正确的 IP/端口 连接。
  • 连接被拒绝或证书错误:本地测试可加 -No 关闭加密验证;生产环境建议使用有效证书并启用加密连接。
  • 服务未启动:检查日志(journalctl -u mssql-server)、磁盘空间与内存是否满足最低要求。
  • 忘记 SA 密码:在单用户模式下通过 mssql-conf 重置,或基于备份恢复;务必在恢复后立即创建新管理员并禁用 SA
  • 版本不匹配:确保 UbuntuSQL Server 版本组合受支持,并使用对应代号添加软件源。

0