在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
),定位錯誤原因(如磁盤空間不足、權限問題)。