在進行任何更新或升級操作前,必須對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
),定位具體錯誤信息(如權限不足、磁盤空間不夠),并根據日志提示修復問題。