温馨提示×

如何升级CentOS上的SQL Server

小樊
40
2025-11-01 22:36:14
栏目: 云计算

如何在CentOS上升级SQL Server

升级SQL Server至新版本需遵循严格的流程,以确保数据安全、系统稳定及功能兼容。以下是详细操作步骤及注意事项:

一、升级前准备工作

  1. 备份所有数据库
    升级前必须对所有用户数据库及系统数据库(如mastermsdb)进行完整备份,可使用BACKUP DATABASE命令或SQL Server Management Studio(SSMS)完成。例如:

    BACKUP DATABASE [YourDatabaseName] TO DISK = '/var/opt/mssql/backup/YourDatabaseName.bak' WITH INIT;
    

    备份是防止升级过程中数据丢失的关键措施。

  2. 检查版本兼容性

    • 确认当前SQL Server版本与目标版本之间的兼容性(如SQL Server 2019可升级至2022,但需满足微软官方的版本升级路径)。
    • 确保CentOS系统版本符合目标SQL Server版本的要求(例如,SQL Server 2022建议安装在CentOS 8或更高版本,SQL Server 2019支持CentOS 7)。
  3. 验证应用程序兼容性
    确保现有应用程序支持新版本SQL Server的功能(如新增的T-SQL语法、存储过程变更),避免升级后出现功能异常。

二、添加新版本SQL Server Yum源

根据目标版本下载对应的Microsoft Yum源文件,替换旧源以获取最新版本的安装包:

  • SQL Server 2019
    sudo curl -o /etc/yum.repos.d/mssql-server-2019.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    
  • 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
    
    添加源后,执行sudo yum clean all清除缓存。

三、安装新版本SQL Server

使用yum命令安装新版本(会自动覆盖旧版本的核心组件,但保留数据库文件):

sudo yum install -y mssql-server

安装完成后,系统会提示是否保留现有数据库文件(默认保留)。

四、初始化或重新配置SQL Server

若为新安装,需运行mssql-conf setup初始化数据库;若为升级,此步骤会自动保留原有配置(如SA密码、实例名称):

sudo /opt/mssql/bin/mssql-conf setup

按照提示设置SA账户密码(需符合复杂度要求)及SQL Server版本(如“Developer”“Enterprise”)。

五、升级数据库兼容级别

安装完成后,需将现有数据库的兼容级别调整为目标版本对应的级别,使数据库使用新版本的功能:

-- 例如,升级至SQL Server 2022(兼容级别150)
USE [master];
GO
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 150;
GO

建议逐个数据库执行此操作,避免遗漏。

六、验证升级结果

  1. 检查SQL Server服务状态

    sudo systemctl status mssql-server
    

    确认服务状态为“active (running)”。

  2. 连接数据库验证版本
    使用sqlcmd工具连接SQL Server,执行以下命令查看版本信息:

    sqlcmd -S localhost -U sa -P YourPassword
    1> SELECT @@VERSION;
    2> GO
    

    输出应显示目标版本(如“Microsoft SQL Server 2022 (RTM) - 16.0.1000.6”)。

  3. 检查数据库完整性
    对每个数据库执行DBCC CHECKDB,确保数据未损坏:

    USE [YourDatabaseName];
    GO
    DBCC CHECKDB;
    GO
    

    若无错误,说明数据库升级成功。

七、后续操作

  1. 测试应用程序
    让应用程序连接升级后的SQL Server,验证所有功能(如查询、存储过程、触发器)是否正常。

  2. 监控性能
    升级后监控SQL Server性能(如CPU、内存、磁盘IO),确保新版本运行稳定。

  3. 清理旧源
    若不再需要旧版本,可删除旧Yum源文件(如mssql-server-old.repo),避免干扰后续管理。

注意事项

  • 生产环境升级前,建议在测试环境中模拟整个流程,验证兼容性和稳定性。
  • 若升级过程中遇到错误(如依赖冲突、数据库无法启动),可查看/var/opt/mssql/log/目录下的日志文件定位问题。

0