如何在Ubuntu上自定义SQL Server配置
导读:在 Ubuntu 上自定义 SQL Server 配置 一 基础准备与工具 安装 SQL Server 命令行工具,便于本地验证与后续配置: 导入 GPG 密钥并添加 Microsoft 仓库,安装 mssql-tools 与 unix...
在 Ubuntu 上自定义 SQL Server 配置
一 基础准备与工具
- 安装 SQL Server 命令行工具,便于本地验证与后续配置:
- 导入 GPG 密钥并添加 Microsoft 仓库,安装 mssql-tools 与 unixodbc-dev。
- 将 /opt/mssql-tools/bin 加入 PATH(交互式写入 ~/.bash_profile,非交互式写入 ~/.bashrc)。
- 本地连接测试:
sqlcmd -S localhost -U sa -P '< YourPassword> ',出现1>提示符表示连通。
二 使用 mssql-conf 完成常用自定义
- 核心工具与配置文件:
- 使用 /opt/mssql/bin/mssql-conf 脚本进行配置,脚本会修改 /var/opt/mssql/mssql.conf 中的配置项。
- 常用项目包括:Agent、Collation、Default data/log/master/backup/dump/error log 目录、Memory limit、TCP port、TLS、Trace flags、High availability、Microsoft Distributed Transaction Coordinator 等。
- 典型操作示例(按需执行并重启服务):
- 启用 SQL Server Agent:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true - 修改监听端口(示例改为 1434):
sudo /opt/mssql/bin/mssql-conf set tcpport 1434 - 调整内存上限(示例 4GB):
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 4096 - 修改默认数据/日志目录:
- 先创建目录并赋权:
sudo 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/data - 再设置:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /data/mssql/log
- 先创建目录并赋权:
- 应用变更:
sudo systemctl restart mssql-server - 验证端口监听:
ss -tulpen | grep 1434(或netstat -tulpen | grep 1434) - 远程连接时在客户端指定端口:
sqlcmd -S < IP> ,1434 -U sa -P '< YourPassword> '。
- 启用 SQL Server Agent:
三 配置文件与目录迁移要点
- 配置持久化位置为 /var/opt/mssql/mssql.conf,手工编辑该文件与
mssql-conf set等效;修改后需重启服务生效。 - 迁移系统库(如 master)或用户库目录时,建议按下列顺序操作:
- 停止服务:
sudo systemctl stop mssql-server - 同步数据(保持权限一致):
sudo rsync -av /var/opt/mssql/data/master.mdf /data/mssql/data/ - 使用
mssql-conf设置新的默认目录(如filelocation.defaultdatadir、filelocation.defaultmasterdatadir等) - 启动服务:
sudo systemctl start mssql-server - 注意:变更系统库目录存在风险,务必先完整备份,并在维护时段操作。
- 停止服务:
四 远程访问与安全加固
- 防火墙放行:
- UFW:
sudo ufw allow 1433/tcp(如自定义端口,请放行对应端口)。
- UFW:
- 启用与验证:
- 远程连接测试:
sqlcmd -S < 服务器IP或域名> ,< 端口> -U sa -P '< YourPassword> ' - 监听检查:
ss -tulpen | grep < 端口>
- 远程连接测试:
- 安全建议:
- 避免使用 SA,为应用创建最小权限的登录名与用户;必要时启用 TLS 加密传输(在
mssql-conf中配置 TLS 相关项)。
- 避免使用 SA,为应用创建最小权限的登录名与用户;必要时启用 TLS 加密传输(在
五 常见问题快速排查
- 服务无法启动:查看日志
sudo journalctl -u mssql-server -xe,根据报错修复(如目录权限、端口占用、配置项错误等)。 - 端口未监听或连接被拒:确认
mssql-conf中的 tcpport 值、防火墙规则与云安全组策略;用ss -tulpen | grep < 端口>复核监听。 - 客户端连不上:本地先
sqlcmd -S localhost -U sa验证凭据与实例可达性,再排查网络与端口转发。 - 修改目录后报错:核对目录属主为 mssql:mssql,且 SELinux/AppArmor 未拦截(如启用需放行相应路径)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上自定义SQL Server配置
本文地址: https://pptw.com/jishu/788702.html
