网络知识
SQL Server在Ubuntu上的备份方法
2025-07-17 16:28  点击:0

在Ubuntu上备份SQL Server数据库可以通过多种方法实现,以下是详细的步骤:

安装和配置SQL Server
    安装SQL Server客户端工具:
sudo apt-get updatesudo apt-get install msodbcsql17
    配置SQL Server:
启用SQL Server代理:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled truesudo systemctl restart mssql-server
更改默认数据或日志目录位置(可选)。使用sqlcmd进行备份
    完全备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATAbase [XXDatabase] TO DISKN'/var/opt/mssql/data/backup/XXDatabase_full.bak' WITH INIT, SKIP, NAME'XXDatabase-full'"
    差异备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATAbase [XXDatabase] TO DISKN'/var/opt/mssql/data/backup/GDQXCENT_diff.bak' WITH DIFFERENTIAL,INIT,SKIP, NAME'XXDatabase-diff'"
    日志备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP LOG [XXDatabase] TO DISKN'/var/opt/mssql/data/backup/GDQXCENT_log.bak' WITH INIT, SKIP"
    压缩备份文件(可选):
tar -czvf YourDatabaseName-backup-( date %Y%m%d%H%M%S).tar.gz /path/to/your/backup/file.bak
    自动备份和定期执行:

使用 crontab 设置定时任务自动执行备份脚本。例如,每天凌晨1点自动创建完全备份:

0 1 * * * sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATAbase [XXDatabase] TO DISKN'/var/opt/mssql/data/backup/XXDatabase_full.bak' WITH INIT, SKIP, NAME'XXDatabase-full'"
使用第三方备份工具

可以考虑使用第三方工具,如Microsoft SQL Server Management Objects (SMO) 或 Redgate SQL Backup Pro等,这些工具提供了更高级的备份和恢复功能。

请注意,上述方法适用于在Ubuntu系统上备份SQL Server数据库。如果使用的是Windows系统,备份方法会有所不同。