CentOS与SQL Server兼容性问题解决方法
SQL Server从2017版本开始支持Linux系统(包括CentOS),但不同版本的SQL Server对CentOS版本有明确要求:
安装SQL Server前需确保系统具备必要依赖,若遇到依赖缺失错误,可通过以下步骤解决:
sudo yum install -y gcc-c++ make python3 python3-pip libffi-devel
安装编译工具和库;sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/centos/7/prod/x86_64/mssql-server-ver2019-release-17.0.1-1.x86_64.rpm
添加源;openssl11-devel
),通过sudo yum install -y 缺失包名
补充。若无法从客户端连接SQL Server,需依次检查以下环节:
sudo systemctl status mssql-server
,若未运行则启动服务(sudo systemctl start mssql-server
);sudo firewall-cmd --zone public --add-port 1433/tcp --permanent
添加防火墙规则,并执行sudo firewall-cmd --reload
生效;/etc/mssql/mssql.conf
文件,确保listen_addresses = 0.0.0.0
(允许所有网络接口监听);Enforcing
模式,可能阻止远程连接,可临时禁用(sudo setenforce 0
)测试,若解决问题则配置SELinux策略(如setsebool -P mssql_can_network_connect 1
)。CentOS上的SQL Server性能可能略低于Windows,但可通过以下方式提升:
max server memory
参数)、启用查询存储(Query Store)监控性能;sys.dm_exec_query_stats
视图),添加合适的索引(如覆盖索引),避免全表扫描。mysqldump
导出数据(mysqldump -u root -p 数据库名 > backup.sql
),再通过SQL Server的bcp
工具或sqlcmd
导入(sqlcmd -S localhost -U SA -i backup.sql
)。