在CentOS上更新SQL Server的详细步骤
BACKUP DATABASE [YourDatabaseName] TO DISK = '/path/to/backup.bak'),防止数据丢失。根据目标版本下载对应的Microsoft YUM源文件:
sudo curl -o /etc/yum.repos.d/mssql-server-2022.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
sudo curl -o /etc/yum.repos.d/mssql-server-2019.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
添加后清理并刷新YUM缓存:
sudo yum clean all
sudo yum makecache
使用YUM命令更新SQL Server至最新版本:
sudo yum update -y mssql-server
此命令会自动下载并安装最新版本的SQL Server,保留现有配置(除非有破坏性变更)。
若更新过程中修改了配置(如版本升级),需重新运行初始化脚本:
sudo /opt/mssql/bin/mssql-conf setup
按提示确认SA密码(需与之前一致或设置新强密码),完成配置。
更新后,需将数据库兼容级别调整为目标版本对应的级别(如SQL Server 2022对应150),确保应用程序正常运行:
sqlcmd -S localhost -U sa -P YourPassword -Q "ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 150;"
替换YourDatabaseName为实际数据库名,YourPassword为SA密码。
sudo systemctl status mssql-server
应显示active (running)状态。sqlcmd工具连接数据库,验证版本信息:sqlcmd -S localhost -U sa -P YourPassword -Q "SELECT @@VERSION;"
输出应显示新版本的SQL Server版本号(如Microsoft SQL Server 2022 (RTM) - 16.0.1000.6)。DBCC CHECKDB命令验证数据库无损坏:sqlcmd -S localhost -U sa -P YourPassword -Q "DBCC CHECKDB ([YourDatabaseName]);"
若无错误,说明数据库升级成功。ALTER DATABASE调整兼容级别(如从150降回140);或修改应用程序代码适配新版本功能。openssl、libcurl等依赖包(如sudo yum install -y openssl libcurl)。/var/opt/mssql/log/目录下的日志文件(如errorlog),定位错误原因(如磁盘空间不足、权限问题)。