在Ubuntu上备份SQL Server数据库可以通过多种方法实现,以下是详细的步骤和示例:
安装和配置SQL Server
首先,确保在Ubuntu上正确安装和配置了SQL Server。可以参考Microsoft的官方文档来安装SQL Server和必要的工具。
使用sqlcmd进行手动备份
-
安装必要的工具:
sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev -
创建备份脚本:
创建一个备份脚本文件,例如
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 of $DB_NAME'" # 执行差异备份 /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 of $DB_NAME'" # 执行日志备份 /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" -
赋予脚本执行权限:
chmod +x /path/to/backup_mssql.sh -
运行备份脚本:
./backup_mssql.sh
使用crontab进行自动备份
-
编辑crontab:
使用
crontab -e编辑当前用户的crontab文件。 -
添加定时任务:
添加以下行以每天凌晨执行备份脚本:
0 0 * * * /path/to/your/backup_mssql.sh
异地备份
可以使用 rclone 将备份文件同步到远程服务器或数据中心:
-
安装 rclone:
sudo apt-get install rclone -
配置 rclone:
根据你的需求配置
rclone,例如将备份文件同步到 MinIO 服务器:rclone sync /var/opt/mssql/data/backup minio:database-180
恢复SQL Server数据库
使用 sqlcmd 进行恢复:
-
完全恢复:
sqlcmd -S localhost -U SA -P 'YourPassword' -Q "RESTORE DATABASE [YourDatabaseName] FROM DISK='/var/opt/mssql/data/[YourDatabaseName]_full.bak' WITH NORECOVERY" -
从差异备份恢复:
sqlcmd -S localhost -U SA -P 'YourPassword' -Q "RESTORE DATABASE [YourDatabaseName] FROM DISK='/var/opt/mssql/data/[YourDatabaseName]_diff.bak' WITH NORECOVERY, MOVE 'YourDatabaseName_Data' TO '/var/opt/mssql/data/[YourDatabaseName].mdf', MOVE 'YourDatabaseName_Log' TO '/var/opt/mssql/data/[YourDatabaseName]_log.ldf'" -
从日志备份恢复:
sqlcmd -S localhost -U SA -P 'YourPassword' -Q "RESTORE LOG [YourDatabaseName] FROM DISK='/var/opt/mssql/data/[YourDatabaseName]_log.[YourLogNumber].bak'"
通过上述步骤,你可以在Ubuntu上成功配置SQL Server,并完成数据库的备份和恢复测试。请根据你的实际需求调整备份和恢复策略,并定期检查备份文件的完整性。
以上就是关于“如何备份Ubuntu上的SQL Server”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm