在Ubuntu中备份SQL Server数据库主要有以下两种方法:
安装工具
安装mssql-tools和unixodbc-dev:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
手动备份
sqlcmd -S localhost -U SA -P '密码' -Q "BACKUP DATABASE [数据库名] TO DISK='/var/opt/mssql/backup/数据库名_full.bak' WITH INIT, SKIP, NAME='完全备份'"
sqlcmd -S localhost -U SA -P '密码' -Q "BACKUP DATABASE [数据库名] TO DISK='/var/opt/mssql/backup/数据库名_diff.bak' WITH DIFFERENTIAL, INIT, SKIP, NAME='差异备份'"
sqlcmd -S localhost -U SA -P '密码' -Q "BACKUP LOG [数据库名] TO DISK='/var/opt/mssql/backup/数据库名_log.bak' WITH INIT, SKIP"
自动备份(crontab)
编辑定时任务:
sudo crontab -e
添加任务(如每天凌晨3点执行完全备份):
0 3 * * * /path/to/backup_script.sh
可使用SQL Server Management Objects (SMO)或Redgate SQL Backup Pro等工具,提供更高级的备份策略(如压缩、加密等)。
sudo chown mssql:mssql /var/opt/mssql/backup。