ubuntu

如何在Ubuntu上备份SQL Server

小樊
40
2025-03-10 03:46:06
栏目: 云计算
亿速云数据库,弹性扩容,低至0.3元/天! 查看>>

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

使用 sqlcmd 进行手动备份

  1. 安装必要的工具: 确保你已经安装了 sqlcmdunixodbc-dev。如果没有安装,可以使用以下命令进行安装:

    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-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"
    
  3. 赋予脚本执行权限

    chmod +x /path/to/backup_mssql.sh
    
  4. 运行备份脚本

    ./backup_mssql.sh
    

使用 crontab 进行自动备份

  1. 编辑 crontab: 使用 crontab -e 编辑当前用户的 crontab 文件:

    crontab -e
    
  2. 添加定时任务: 添加以下行以每天凌晨执行备份脚本:

    0 0 * * * /path/to/backup_mssql.sh
    

异地备份

可以使用 rclone 将备份文件同步到远程服务器或数据中心:

  1. 安装 rclone

    sudo apt-get install rclone
    
  2. 配置 rclone: 根据你的需求配置 rclone,例如将备份文件同步到 MinIO 服务器:

    rclone sync /var/opt/mssql/data/backup minio:database-180
    

注意事项

希望这些步骤能帮助你在Ubuntu上成功备份SQL Server数据库。如果有任何问题,请参考相关的文档或寻求社区帮助。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

相关推荐:Ubuntu上如何备份SQL Server

0
看了该问题的人还看了