在CentOS系统中,备份和恢复SQL Server数据库可以通过多种方法实现。以下是一些常用的备份和恢复方法,以及如何测试这些备份的完整性。
使用SQL Server Management Studio (SSMS)
使用T-SQL脚本
BACKUP DATABASE your_database TO DISK 'D:\Backups\your_database.bak' WITH FORMAT;
使用sqlcmd工具
sudo yum install -y mssql-tools
sqlcmd -S MSSQLSERVER -d your_database -EBACKUP DATABASE your_database TO DISK '/backups/backup.bak' WITH FORMAT;EXIT;
自动化脚本备份
#!/bin/bash
BACKUP_DIR="/backups"
DATE=$(date %Y%m%d)
DB_NAME="your_database"
BACKUP_FILE="$BACKUP_DIR/$DB_NAME_$DATE.sql"
mysqldump -u your_username -p your_password $DB_NAME > $BACKUP_FILE
chmod +x backup.sh
crontab -e
# 在crontab文件中添加如下行,以每周一上午5点执行备份脚本
0 5 * * 1 /path/to/backup.sh
验证备份文件
ls -l /var/opt/mssql/backup/
使用SSMS进行恢复测试
使用T-SQL命令进行恢复测试
sudo systemctl stop mssql-server
RESTORE DATABASE [YourDatabaseName] FROM DISK '/备份文件路径/备份文件名.bak' WITH REPLACE, RECOVERY;
sudo systemctl start mssql-server
启用备份校验和
BACKUP DATABASE AdventureWorks2022 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak' WITH CHECKSUM;
RESTORE VERIFYONLY FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak' WITH CHECKSUM;
通过以上步骤,您可以在CentOS系统中有效地备份和恢复SQL Server数据库,并确保备份文件的完整性。建议定期进行备份并妥善保管备份文件,以防数据丢失。