温馨提示×

SQL Server在Ubuntu上的备份方法

小樊
52
2025-07-17 08:29:44
栏目: 云计算

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

安装和配置SQL Server

  1. 安装SQL Server客户端工具:
sudo apt-get update
sudo apt-get install msodbcsql17
  1. 配置SQL Server:
  • 启用SQL Server代理:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server
  • 更改默认数据或日志目录位置(可选)。

使用sqlcmd进行备份

  1. 完全备份
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATABASE [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/XXDatabase_full.bak' WITH INIT, SKIP, NAME  'XXDatabase-full'"
  1. 差异备份
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATABASE [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/GDQXCENT_diff.bak' WITH DIFFERENTIAL,INIT,SKIP, NAME  'XXDatabase-diff'"
  1. 日志备份
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP LOG [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/GDQXCENT_log.bak' WITH INIT, SKIP"
  1. 压缩备份文件(可选)
tar -czvf YourDatabaseName-backup-( date %Y%m%d%H%M%S).tar.gz /path/to/your/backup/file.bak
  1. 自动备份和定期执行

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

0 1 * * * sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATABASE [XXDatabase] TO DISK  N'/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系统,备份方法会有所不同。

0