以下是在Debian上运行SQL Server的最佳实践,涵盖安装、性能、安全及维护等方面:
一、安装与配置
- 系统准备
- 更新系统并安装依赖:
sudo apt update && sudo apt install curl gnupg apt-transport-https。
- 添加Microsoft仓库:导入GPG密钥并配置存储库(注意选择对应Debian版本的仓库)。
- 安装SQL Server
- 执行安装命令:
sudo apt install -y mssql-server。
- 配置SA密码:
sudo /opt/mssql/bin/mssql-conf setup。
- 启动服务并设置开机自启:
sudo systemctl start mssql-server && sudo systemctl enable mssql-server。
二、性能优化
- 硬件与系统调优
- 使用SSD存储提升I/O性能,确保内存充足(建议至少4GB)。
- 调整内核参数(如
vm.swappiness=1、net.ipv4.tcp_tw_recycle=1)并使用XFS文件系统。
- SQL Server配置
- 优化内存分配:设置
最大服务器内存和最小服务器内存,避免过度占用系统资源。
- 调整并行度(MaxDOP):根据工作负载(OLTP/OLAP)设置为合适值(如1-8)。
- 查询与索引优化
- 避免
SELECT *,只查询必要列;为高频查询列创建索引(覆盖索引、计算列索引)。
- 定期更新统计信息,重建碎片化索引。
三、安全与权限管理
- 系统安全
- 禁用root远程登录,使用普通用户+sudo操作。
- 配置防火墙(ufw/iptables)限制访问IP。
- SQL Server安全
- 启用SSL/TLS加密传输数据。
- 遵循最小权限原则,为用户分配仅必要的权限。
四、监控与维护
- 性能监控
- 使用SQL Server Profiler或扩展事件(XEvents)跟踪慢查询。
- 监控关键指标(CPU、内存、磁盘I/O),及时处理瓶颈。
- 备份与恢复
- 制定定期备份计划(全量+增量),测试恢复流程。
- 启用事务日志自动截断,避免日志文件过大。
五、其他建议
- 版本选择:优先使用SQL Server的LTS版本,确保稳定性。
- 社区支持:利用Debian社区论坛或SQL Server官方文档解决兼容性问题。
注意:SQL Server官方对Debian的支持有限,建议在生产环境中充分测试后再部署。
参考来源: