在进行任何更新或升级操作前,必须对SQL Server中的所有数据库执行完整备份(包括系统数据库如master、msdb),可使用BACKUP DATABASE [数据库名] TO DISK = '/path/to/backup.bak'命令,或通过SQL Server Management Studio(SSMS)图形界面完成。备份是防止数据丢失的最关键步骤。
sudo yum update -y将系统更新至最新稳定版,修复潜在的安全漏洞和兼容性问题。sudo yum install -y wget openssl11-devel libaio libcurl libxml2-devel bzip2-devel libjpeg-turbo-devel freetype-devel libpng-devel
```。
根据目标SQL Server版本,下载对应的YUM源配置文件(以SQL Server 2022为例):
sudo curl -o /etc/yum.repos.d/mssql-server-2022.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
若需更新现有源,可直接覆盖原文件或使用yum-config-manager刷新源列表。
sudo yum install -y mssql-server,跟随提示完成基础安装。sudo yum update -y mssql-server自动检测并升级到最新兼容版本。升级过程中,系统会保留原有配置文件(如/var/opt/mssql下的数据目录),但建议提前备份。若为全新安装,需运行sudo /opt/mssql/bin/mssql-conf setup命令,按提示设置SA账户密码(需符合复杂度要求,如包含大小写字母、数字和特殊字符)及SQL Server版本(选择“Evaluation”“Developer”或“Enterprise”等)。
若为升级,此步骤通常无需重复执行,除非需要修改配置(如更改服务端口、身份验证模式)。
更新完成后,需将现有数据库的兼容级别调整为目标版本对应的级别(如SQL Server 2022对应兼容级别150),确保数据库能正常运行新版本功能:
USE master;
GO
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 150;
GO
可通过SELECT name, compatibility_level FROM sys.databases命令验证所有数据库的兼容级别是否已更新。
运行sudo systemctl status mssql-server,确认服务处于“active (running)”状态。若未启动,可使用sudo systemctl start mssql-server启动服务,并通过sudo systemctl enable mssql-server设置开机自启。
使用DBCC CHECKDB命令检查数据库是否有损坏或不一致:
USE [YourDatabaseName];
GO
DBCC CHECKDB;
GO
若返回结果中无错误(“CHECKDB found 0 allocation errors and 0 consistency errors”),说明数据库完整性良好。
使用SQL Server命令行工具sqlcmd或应用程序客户端连接数据库,验证功能是否正常:
sqlcmd -S localhost -U sa -P YourPassword -Q "SELECT @@VERSION;"
若能正确返回SQL Server版本信息(如“Microsoft SQL Server 2022 (RTM) - 16.0.1000.6”),说明升级成功。
若数据库需远程访问,需开放默认的1433端口:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
确保防火墙规则未阻止SQL Server的网络通信。
ALTER DATABASE命令动态调整兼容级别。sudo yum install -y 包名),或参考Microsoft官方文档解决特定依赖问题。/var/opt/mssql/log/setup-*.log),定位具体错误信息(如权限不足、磁盘空间不够),并根据日志提示修复问题。