在CentOS上对SQL Server进行更新和维护,主要包括以下几个步骤:
curl -o /etc/yum.repos.d/mssql-server-2019.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum install mssql-server
/opt/mssql/bin/mssql-conf setup
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL 150; -- 150对应SQL Server 2022
DBCC CHECKDB ([YourDatabaseName])
sudo systemctl status mssql-server
如果服务未运行,请尝试启动服务:sudo systemctl start mssql-server
/var/log/mssql/errorlog
。日志文件中的错误信息可以帮助确定问题的根本原因。sudo systemctl stop mssql-server
sudo /opt/mssql/bin/sqlservr -m
这将以单用户模式启动SQL Server,并输出相关信息。观察控制台输出并查找任何与数据库文件相关的错误或警告。sudo /opt/mssql/bin/mssql-conf traceflag 3608 on
sudo systemctl start mssql-server
sqlcmd -S localhost -U SA -Q "DBCC CHECKDB ('数据库名称') REPAIR_ALLOW_DATA_LOSS"
请注意,REPAIR_ALLOW_DATA_LOSS
选项可能会丢失某些数据,所以在执行之前请确保你了解风险并做好备份。sudo chown -R mssql:mssql /var/opt/mssql/
/etc/mssql/mssql.conf.d/90-sqlservr.conf
文件中的配置正确。例如,检查 listen_addresses
是否设置为 0.0.0.0
,以便SQL Server可以监听所有网络接口。sudo firewall-cmd --zone public --add-port 1433/tcp --permanentsudo firewall-cmd --reload
msodbcsql
和 sqlcmd
。journalctl
命令查看SQL Server服务的日志明细信息:journalctl -u mssql-server
根据日志中的错误信息进行相应的排查和解决。通过以上步骤,您可以在CentOS上顺利更新和维护SQL Server,确保数据和系统的稳定性。