温馨提示×

如何在CentOS上更新SQL Server

小樊
52
2025-10-15 14:52:11
栏目: 云计算

在CentOS上更新SQL Server的详细步骤

1. 准备工作

  • 备份数据:升级前对所有数据库执行完整备份(如使用BACKUP DATABASE [YourDatabaseName] TO DISK = '/path/to/backup.bak'),防止数据丢失。
  • 检查兼容性:确认目标SQL Server版本与当前CentOS版本匹配(如SQL Server 2022需CentOS 8及以上,SQL Server 2019支持CentOS 7),并验证应用程序是否支持新版本功能。
  • 检查系统要求:确保服务器满足SQL Server的内存(最低4GB)、存储空间(至少6GB可用空间)等要求。

2. 添加/更新SQL Server安装源

根据目标版本下载对应的Microsoft YUM源文件:

  • SQL Server 2022(推荐CentOS 8+):
    sudo curl -o /etc/yum.repos.d/mssql-server-2022.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
    
  • SQL Server 2019(支持CentOS 7):
    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

3. 更新SQL Server包

使用YUM命令更新SQL Server至最新版本:

sudo yum update -y mssql-server

此命令会自动下载并安装最新版本的SQL Server,保留现有配置(除非有破坏性变更)。

4. 重新配置SQL Server(可选)

若更新过程中修改了配置(如版本升级),需重新运行初始化脚本:

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

按提示确认SA密码(需与之前一致或设置新强密码),完成配置。

5. 升级数据库兼容级别

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

sqlcmd -S localhost -U sa -P YourPassword -Q "ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 150;"

替换YourDatabaseName为实际数据库名,YourPassword为SA密码。

6. 验证升级结果

  • 检查服务状态:确认SQL Server服务正在运行:
    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);或修改应用程序代码适配新版本功能。
  • 依赖性问题:CentOS 9上安装SQL Server 2022时,可能需要手动安装openssllibcurl等依赖包(如sudo yum install -y openssl libcurl)。
  • 安装错误:查看/var/opt/mssql/log/目录下的日志文件(如errorlog),定位错误原因(如磁盘空间不足、权限问题)。

0