在 Ubuntu 上自定义 SQL Server 配置
一 基础准备与工具
sqlcmd -S localhost -U sa -P '<YourPassword>',出现 1> 提示符表示连通。二 使用 mssql-conf 完成常用自定义
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled truesudo /opt/mssql/bin/mssql-conf set tcpport 1434sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 4096sudo mkdir -p /data/mssql/data /data/mssql/log && sudo chown mssql:mssql /data/mssql/{data,log}sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /data/mssql/datasudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /data/mssql/logsudo systemctl restart mssql-serverss -tulpen | grep 1434(或 netstat -tulpen | grep 1434)sqlcmd -S <IP>,1434 -U sa -P '<YourPassword>'。三 配置文件与目录迁移要点
mssql-conf set 等效;修改后需重启服务生效。sudo systemctl stop mssql-serversudo rsync -av /var/opt/mssql/data/master.mdf /data/mssql/data/mssql-conf 设置新的默认目录(如 filelocation.defaultdatadir、filelocation.defaultmasterdatadir 等)sudo systemctl start mssql-server四 远程访问与安全加固
sudo ufw allow 1433/tcp(如自定义端口,请放行对应端口)。sqlcmd -S <服务器IP或域名>,<端口> -U sa -P '<YourPassword>'ss -tulpen | grep <端口>mssql-conf 中配置 TLS 相关项)。五 常见问题快速排查
sudo journalctl -u mssql-server -xe,根据报错修复(如目录权限、端口占用、配置项错误等)。mssql-conf 中的 tcpport 值、防火墙规则与云安全组策略;用 ss -tulpen | grep <端口> 复核监听。sqlcmd -S localhost -U sa 验证凭据与实例可达性,再排查网络与端口转发。