温馨提示×

CentOS SQL Server更新与升级指南

小樊
46
2025-09-26 18:37:23
栏目: 云计算

CentOS环境下SQL Server更新与升级指南

一、更新前准备工作

1. 备份所有关键数据

在进行任何更新或升级操作前,必须对SQL Server中的所有数据库执行完整备份(包括系统数据库如master、msdb),可使用BACKUP DATABASE [数据库名] TO DISK = '/path/to/backup.bak'命令,或通过SQL Server Management Studio(SSMS)图形界面完成。备份是防止数据丢失的最关键步骤。

2. 检查版本兼容性

  • SQL Server版本支持:确认目标版本是否支持当前CentOS版本(如SQL Server 2022建议安装在CentOS 8及以上,若在CentOS 7上安装需使用2019版本;CentOS 9上安装2022需额外配置依赖)。
  • 应用程序兼容性:确保现有应用程序支持目标SQL Server版本的新功能或语法变更,避免升级后出现功能异常。

3. 更新系统与安装依赖

  • 更新CentOS系统:运行sudo yum update -y将系统更新至最新稳定版,修复潜在的安全漏洞和兼容性问题。
  • 安装必要依赖:安装开发工具链和库文件,确保SQL Server安装顺利。常用命令:
    sudo yum install -y wget openssl11-devel libaio libcurl libxml2-devel bzip2-devel libjpeg-turbo-devel freetype-devel libpng-devel
    ```。
    
    
    

二、SQL Server更新/升级步骤

1. 添加/更新Microsoft YUM源

根据目标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刷新源列表。

2. 安装/更新SQL Server软件包

  • 全新安装:运行sudo yum install -y mssql-server,跟随提示完成基础安装。
  • 升级现有版本:使用sudo yum update -y mssql-server自动检测并升级到最新兼容版本。升级过程中,系统会保留原有配置文件(如/var/opt/mssql下的数据目录),但建议提前备份。

3. 初始化或重新配置SQL Server

若为全新安装,需运行sudo /opt/mssql/bin/mssql-conf setup命令,按提示设置SA账户密码(需符合复杂度要求,如包含大小写字母、数字和特殊字符)及SQL Server版本(选择“Evaluation”“Developer”或“Enterprise”等)。
若为升级,此步骤通常无需重复执行,除非需要修改配置(如更改服务端口、身份验证模式)。

4. 升级数据库兼容级别

更新完成后,需将现有数据库的兼容级别调整为目标版本对应的级别(如SQL Server 2022对应兼容级别150),确保数据库能正常运行新版本功能:

USE master;
GO
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 150;
GO

可通过SELECT name, compatibility_level FROM sys.databases命令验证所有数据库的兼容级别是否已更新。

三、升级后验证与配置

1. 检查SQL Server服务状态

运行sudo systemctl status mssql-server,确认服务处于“active (running)”状态。若未启动,可使用sudo systemctl start mssql-server启动服务,并通过sudo systemctl enable mssql-server设置开机自启。

2. 验证数据库完整性

使用DBCC CHECKDB命令检查数据库是否有损坏或不一致:

USE [YourDatabaseName];
GO
DBCC CHECKDB;
GO

若返回结果中无错误(“CHECKDB found 0 allocation errors and 0 consistency errors”),说明数据库完整性良好。

3. 测试应用程序连接

使用SQL Server命令行工具sqlcmd或应用程序客户端连接数据库,验证功能是否正常:

sqlcmd -S localhost -U sa -P YourPassword -Q "SELECT @@VERSION;"

若能正确返回SQL Server版本信息(如“Microsoft SQL Server 2022 (RTM) - 16.0.1000.6”),说明升级成功。

4. 配置防火墙(可选但推荐)

若数据库需远程访问,需开放默认的1433端口:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

确保防火墙规则未阻止SQL Server的网络通信。

四、常见问题及解决方法

1. 兼容性问题

  • 现象:升级后存储过程、视图或函数报错(如“语法不支持”)。
  • 解决方法:降低数据库兼容级别(如从150降至140),或修改代码以适配新版本语法。可通过ALTER DATABASE命令动态调整兼容级别。

2. 依赖性问题

  • 现象:安装或升级时提示缺少依赖包(如“Error: Package X is not installed”)。
  • 解决方法:根据错误提示安装缺失的依赖包(如sudo yum install -y 包名),或参考Microsoft官方文档解决特定依赖问题。

3. 安装日志分析

  • 现象:升级失败但无法确定原因。
  • 解决方法:查看SQL Server安装日志(路径:/var/opt/mssql/log/setup-*.log),定位具体错误信息(如权限不足、磁盘空间不够),并根据日志提示修复问题。

0