溫馨提示×

centos下sqlserver遷移步驟

小樊
33
2025-10-20 02:04:01
欄目: 云計算

1. 準備工作

  • 確認環境兼容性:確保源SQL Server與目標CentOS上的SQL Server版本一致(如均為SQL Server 2022),避免因版本差異導致還原失敗。
  • 檢查網絡連通性:源服務器與目標CentOS服務器之間需能正常通信(如通過ping命令驗證),確保備份文件傳輸不受阻礙。
  • 安裝必要工具:在目標CentOS上安裝SQL Server客戶端工具(如sqlcmd),用于后續命令行操作;若未安裝,可通過以下命令添加倉庫并安裝:
    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
    yum install -y mssql-tools unixODBC-devel
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    source ~/.bash_profile
    

2. 備份源數據庫

  • 使用SSMS圖形界面:登錄源SQL Server實例,展開“數據庫”節點,右鍵點擊目標數據庫→“任務”→“備份”。選擇“完整”備份類型(推薦),設置備份目標路徑(如本地磁盤D:\backups\source_db.bak),點擊“確定”執行備份。
  • 使用命令行工具(可選):通過sqlcmd執行T-SQL命令備份,例如:
    BACKUP DATABASE [source_db] TO DISK = 'D:\backups\source_db.bak' WITH INIT, STATS = 10;
    

3. 傳輸備份文件至目標服務器
使用scp(安全拷貝)或rsync工具將備份文件從源服務器復制到目標CentOS服務器。例如,通過scp命令:

scp username@source_server:/path/to/source_db.bak /tmp/

輸入目標服務器密碼后,等待文件傳輸完成。

4. 在目標服務器上還原數據庫

  • 使用SSMS圖形界面:登錄目標CentOS上的SQL Server實例,右鍵點擊“數據庫”→“還原數據庫”。選擇“設備”→“瀏覽”,定位到傳輸的備份文件(如/tmp/source_db.bak),點擊“確定”。切換至“選項”頁,勾選“覆蓋現有數據庫”(若目標存在同名數據庫),確認文件路徑(如將數據文件移至/var/opt/mssql/data/source_db.mdf、日志文件移至/var/opt/mssql/data/source_db_log.ldf),最后點擊“確定”開始還原。
  • 使用命令行工具(可選):通過sqlcmd執行還原命令,例如:
    RESTORE DATABASE [source_db] 
    FROM DISK = '/tmp/source_db.bak' 
    WITH MOVE 'source_db' TO '/var/opt/mssql/data/source_db.mdf', 
         MOVE 'source_db_log' TO '/var/opt/mssql/data/source_db_log.ldf', 
         REPLACE, RECOVERY;
    
    其中,MOVE子句用于調整文件路徑(需根據備份文件中的邏輯文件名修改),REPLACE表示覆蓋現有數據庫,RECOVERY表示恢復數據庫至可用狀態。

5. 驗證數據完整性

  • 檢查數據庫狀態:通過SSMS或sqlcmd執行SELECT name, state_desc FROM sys.databases WHERE name = 'source_db';,確認數據庫狀態為“ONLINE”。
  • 抽樣查詢數據:選擇目標數據庫中的關鍵表(如SELECT TOP 10 * FROM dbo.table_name;),對比源數據庫中的記錄數和內容,確保數據無遺漏或錯誤。

6. 清理與優化

  • 刪除臨時文件:遷移完成后,刪除源服務器上的備份文件(如D:\backups\source_db.bak)和目標服務器上的臨時文件(如/tmp/source_db.bak),釋放存儲空間。
  • 優化目標數據庫:根據目標服務器性能調整數據庫配置(如內存分配、并行度),例如通過sqlcmd執行ALTER DATABASE [source_db] SET AUTO_CREATE_STATISTICS ON;啟用自動統計信息更新。

注意事項

  • 文件路徑調整:還原時需確保目標服務器上有足夠的磁盤空間,且文件路徑(如數據文件、日志文件目錄)存在且具備寫入權限(默認路徑為/var/opt/mssql/data/)。
  • 防火墻設置:若需遠程連接目標SQL Server,需開放1433端口(SQL Server默認端口),可通過以下命令配置:
    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    
  • 版本兼容性:若源數據庫使用了目標SQL Server不支持的功能(如舊版本的特定語法),需提前修改腳本或升級源數據庫。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女