溫馨提示×

如何在Ubuntu上備份SQL Server

小樊
49
2025-03-10 03:46:06
欄目: 云計算

在Ubuntu上備份SQL Server數據庫可以通過多種方法實現,以下是詳細的步驟:

使用 sqlcmd 進行手動備份

  1. 安裝必要的工具: 確保你已經安裝了 sqlcmdunixodbc-dev。如果沒有安裝,可以使用以下命令進行安裝:

    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-dev
    
  2. 創建備份腳本: 創建一個備份腳本文件,例如 backup_mssql.sh

    #!/bin/bash
    
    # 設置備份目錄
    BACKUP_DIR="/var/opt/mssql/data/backup"
    
    # 數據庫信息
    DB_SERVER="localhost"
    DB_USER="sa"
    DB_PASSWORD="your_password"
    DB_NAME="YourDatabaseName"
    
    # 執行完全備份
    /opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP DATABASE $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_full.bak' WITH INIT, SKIP, NAME 'Full Backup'"
    
    # 執行差異備份
    /opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP DATABASE $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_diff.bak' WITH DIFFERENTIAL, INIT, SKIP, NAME 'Differential Backup'"
    
    # 執行日志備份
    /opt/mssql-tools/bin/sqlcmd -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP LOG $DB_NAME TO DISK = '$BACKUP_DIR/$DB_NAME_log.bak' WITH INIT, SKIP"
    
  3. 賦予腳本執行權限

    chmod +x /path/to/backup_mssql.sh
    
  4. 運行備份腳本

    ./backup_mssql.sh
    

使用 crontab 進行自動備份

  1. 編輯 crontab: 使用 crontab -e 編輯當前用戶的 crontab 文件:

    crontab -e
    
  2. 添加定時任務: 添加以下行以每天凌晨執行備份腳本:

    0 0 * * * /path/to/backup_mssql.sh
    

異地備份

可以使用 rclone 將備份文件同步到遠程服務器或數據中心:

  1. 安裝 rclone

    sudo apt-get install rclone
    
  2. 配置 rclone: 根據你的需求配置 rclone,例如將備份文件同步到 MinIO 服務器:

    rclone sync /var/opt/mssql/data/backup minio:database-180
    

注意事項

  • 確保SQL Server服務正在運行。
  • 備份目錄需要有寫權限。
  • 定期檢查備份文件的完整性。
  • 使用強密碼并妥善保管。

希望這些步驟能幫助你在Ubuntu上成功備份SQL Server數據庫。如果有任何問題,請參考相關的文檔或尋求社區幫助。

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