CentOS上SQL Server的备份恢复实践
小樊
44
2025-09-14 03:20:30
CentOS上SQL Server备份恢复实践
一、备份实践
- 工具选择
- SQL Server Management Studio (SSMS):图形化界面,操作直观,适合新手。
- sqlcmd工具:命令行方式,适合自动化备份,需安装mssql-tools。
- T-SQL命令:灵活度高,可编写复杂备份逻辑。
- 备份类型
- 完整备份:备份整个数据库,推荐作为基础备份。
- 差异备份:仅备份自上次完整备份以来的更改,节省空间。
- 事务日志备份:记录事务日志,用于恢复到特定时间点。
- 自动化备份
- 编写shell脚本,结合crontab设置定时任务,如每天凌晨执行备份。
- 示例脚本:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "password" -Q "BACKUP DATABASE dbname TO DISK='/backups/dbname_$(date +\%F).bak' WITH FORMAT"。
二、恢复实践
- 恢复前准备
- 停止SQL Server服务:
sudo systemctl stop mssql-server。
- 复制备份文件到SQL Server数据目录或指定路径。
- 恢复操作
- 使用SSMS:右键“数据库”→“还原数据库”→选择备份文件→设置恢复选项(如覆盖现有数据库)→点击“确定”。
- 使用sqlcmd:登录后执行命令
RESTORE DATABASE [dbname] FROM DISK='/backup/path/dbname.bak' WITH REPLACE, RECOVERY。
- 恢复后验证
- 启动SQL Server服务:
sudo systemctl start mssql-server。
- 通过SSMS或查询语句检查数据库状态,确保数据完整。
三、注意事项
- 定期验证备份文件的完整性和可用性。
- 将备份文件存储在安全位置,如远程存储或云存储。
- 根据业务需求调整备份策略,如重要数据库可增加备份频率。