在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等第三方工具,这些工具能提供更高级的备份和恢复功能,但具体使用方法因工具而异,需参考相应工具的文档。