在Ubuntu上備份SQL Server數據庫,常用方法有使用sqlcmd
工具和使用第三方工具,以下是具體介紹:
sqlcmd
工具sudo apt-get update
和sudo apt-get install mssql-tools unixodbc-dev
,安裝sqlcmd
和unixodbc-dev
。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"
chmod +x /path/to/backup_mssql.sh
賦予腳本執行權限,然后運行./backup_mssql.sh
。crontab -e
編輯定時任務,添加如0 0 * * * /path/to/backup_mssql.sh
,可每天凌晨執行備份。可以使用Microsoft SQL Server Management Objects (SMO)或Redgate SQL Backup Pro等第三方工具,這些工具能提供更高級的備份和恢復功能,但具體使用方法因工具而異,需參考相應工具的文檔。