在 CentOS 上管理 SQL Server 服务
一 服务生命周期管理
- 启动、停止、重启与查看状态
- 启动:sudo systemctl start mssql-server
- 停止:sudo systemctl stop mssql-server
- 重启:sudo systemctl restart mssql-server
- 查看状态:systemctl status mssql-server
- 设置与取消开机自启
- 开机自启:sudo systemctl enable mssql-server
- 取消自启:sudo systemctl disable mssql-server
- 首次安装后的初始化配置(仅首次)
- 运行:sudo /opt/mssql/bin/mssql-conf setup,按提示选择版本并设置 SA 密码。
二 远程连接与防火墙
- 开放数据库引擎端口
- 放行 TCP 1433:sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
- 重新加载:sudo firewall-cmd --reload
- 可选:SQL Browser 与多实例端口
- 放行 TCP 1434:sudo firewall-cmd --permanent --add-port=1434/tcp
- 远程连通性测试
- 本机测试:sqlcmd -S localhost -U SA -P ‘YourPassword’
- 远程测试:sqlcmd -S <服务器IP或主机名> -U SA -P ‘YourPassword’
三 常用配置与维护
- 修改 SA 密码
- 停止服务:sudo systemctl stop mssql-server
- 重置密码:sudo /opt/mssql/bin/mssql-conf set-sa-password
- 启动服务:sudo systemctl start mssql-server
- 启用 SQL Server Agent(Linux 上默认不启用)
- 在 sqlcmd 中执行:
- USE master;
- EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE;
- EXEC sp_configure ‘Agent XPs’, 1; RECONFIGURE;
- 配置文件与网络
- 配置文件路径:/var/opt/mssql/mssql.conf
- 启用 TCP/IP(示例):在 mssql.conf 中添加或修改
- [network]
- tcpip = true
- port = 1433
- 修改后重启:sudo systemctl restart mssql-server。
四 升级回滚与卸载
- 升级到新版本
- 更新仓库后执行:sudo yum update mssql-server,随后重启服务:sudo systemctl restart mssql-server
- 回滚到指定版本
- 列出可用版本:sudo yum list mssql-server --showduplicates
- 指定版本安装(示例):sudo yum install mssql-server-<版本号>
- 重启服务:sudo systemctl restart mssql-server
- 卸载
- 停止服务:sudo systemctl stop mssql-server
- 卸载软件包:sudo yum remove mssql-server
- 清理数据与配置(谨慎):sudo rm -rf /var/opt/mssql/
- 删除仓库文件:sudo rm /etc/yum.repos.d/mssql-server.repo
- 验证:yum list installed | grep mssql