温馨提示×

Ubuntu SQL Server如何备份数据库

小樊
38
2025-08-27 09:01:11
栏目: 云计算

在Ubuntu上备份SQL Server数据库,常用方法有使用sqlcmd工具和使用第三方工具,以下是具体介绍:

使用sqlcmd工具

  1. 安装必要工具:执行命令sudo apt-get updatesudo apt-get install mssql-tools unixodbc-dev,安装sqlcmdunixodbc-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"
  1. 赋予脚本执行权限并运行:执行chmod +x /path/to/backup_mssql.sh赋予脚本执行权限,然后运行./backup_mssql.sh
  2. 设置自动备份:使用crontab -e编辑定时任务,添加如0 0 * * * /path/to/backup_mssql.sh,可每天凌晨执行备份。

使用第三方工具

可以使用Microsoft SQL Server Management Objects (SMO)或Redgate SQL Backup Pro等第三方工具,这些工具能提供更高级的备份和恢复功能,但具体使用方法因工具而异,需参考相应工具的文档。

0