SQL Server 数据库怎么备份还原?ABB 应用感知备份与三条恢复路径全流程

痛点场景

SQL Server 跑着核心业务库,直接拿文件级备份去拷数据文件,恢复出来的库十有八九起不来——备份瞬间数据文件不在同一时间点上。就算备份成了,还有第二个坑:应用感知备份下事务日志截断不可用,日志天天涨,系统盘迟早被撑爆。用 Active Backup for Business(ABB)保护 SQL Server 2019 及以上版本,关键是把"一致性"和"日志膨胀"两件事一次做对。

第一步:确认 VSS 服务在跑

ABB 依赖 Windows 卷影副本服务(VSS)在备份前打快照。按 Win+R 输入 services.msc 回车,找到 Volume Shadow Copy,看状态列是否"正在运行";没运行先手动启动,再进属性确认启动类型。

第二步:加入设备并启用应用感知备份

把这台 SQL 服务器按物理服务器或虚拟机类型添加进 ABB,建好备份任务;再到「任务列表 > 编辑 > 常规 > 高级设置」勾选启用应用程序感知备份。勾上这一项,VSS 才会在备份时给数据库打快照,数据文件才是一致、可直接恢复的——漏勾是这类备份最常见的翻车点。

第三步:后置脚本管住事务日志(可选但强烈建议)

应用感知备份时不支持自动日志截断,事务日志会持续增长。写一条命令存成脚本(把 [Database_Name] 换成实际库名):

sqlcmd -Q "BACKUP LOG [Database_Name] to DISK = 'NUL';DBCC SHRINKFILE ([Database_Name]_log, 0, TRUNCATEONLY);"

再到同一个「高级设置」里启用前/后脚本并上传。每次备份完成后自动截断日志,磁盘不再被日志悄悄吃掉。

还原:按需求选三条路

路线一:整机快速上线。 服务器整台出事,用即时还原把 SQL Server 连数据带配置直接拉到 VMware 或 Hyper-V 虚拟机上跑,恢复时间以分钟计,适合救生产。

路线二:只捞个别表。 通过即时还原把备份映像在 Virtual Machine Manager(VMM)里跑起来,再用 SQL 语法或 SQL 工具进库查找、导出需要的表和数据,导完关机即可。

路线三:整库挂到别的服务器。 测试开发或第三方分析要整库克隆时:在 ABB Portal 选好备份版本,下载包含数据库的文件夹,拿到 .mdf 和 .ldf 两个文件;以管理员身份分别授权 icacls File_Path /grant MSSQLSERVER:(F);然后 sqlcmd -S localhost 连上实例,执行:

USE [master]
GO
CREATE DATABASE [Database_Name] ON
( FILENAME = N'Disk:\Path\File_Name.mdf' ),
( FILENAME = N'Disk:\Path\File_Name.ldf' )
FOR ATTACH
GO

验证

挂载成功后把关键业务表各查一遍,应用连接冒烟测试;同时看一眼日志文件占用是否回落、备份任务的脚本是否执行成功。

预防建议

每季度抽一个备份版本做恢复演练,趁早发现任务配置漂移;数据库升级、新增库之后,回头核对任务的应用感知设置和后置脚本里的库名是否还匹配。


如果贵单位有 SQL Server 等数据库服务器的整机备份与快速恢复需求,欢迎参考群晖企业级 NAS 产品,或与我们联系,我们可以结合数据库规模和恢复时间目标给出方案建议。