ad数据持久化需经事务封装、日志先行、检查点协调、最终落盘四阶段,必须完整备份ntds.dit、edb*.log、edb.chk、sysvol、注册表及启动文件;windows server backup可一键执行含全部组件的系统状态备份,并须定期验证与离线保护。
active directory 的数据持久化不是简单地把数据“写进硬盘”,而是一套受控、分阶段、带保障的事务流程。只复制 ntds.dit 文件,等于只拍下了快照的底片——没显影、没定影,根本不能用。
AD怎么把一次修改真正存下来?
每次创建用户、改组策略或调整OU权限,AD都按严格顺序执行:
- 事务封装:操作被包装成一个原子事务,满足ACID原则
-
日志先行:变更内容先写入
edb.log(10MB固定大小的循环日志),同时缓存在内存 -
检查点协调:
edb.chk记录日志与数据库当前同步位置,告诉系统“哪些日志已提交” -
最终落盘:通过后台整理线程,将已确认的日志变更合并写入
ntds.dit
这意味着:刚创建的用户可能已在日志里,但还没进数据库;突然断电后,AD靠日志+检查点能自动恢复到一致状态——前提是这些文件都在。
哪些文件必须一起备份?缺一不可
系统状态备份不是可选项,是强制前提。单独备份某个文件毫无意义:
- ntds.dit:主数据仓库,但只是“结果”,不含未提交变更
- edb*.log + edb.chk:没有它们,最近所有操作都会丢失(如2019年某企业丢失2000个用户)
- SYSVOL:组策略脚本、登录脚本全在这里,丢了就等于策略失效、用户无法映射驱动器
- 注册表 + 启动文件:AD服务依赖特定注册表键值启动,缺失会导致还原后无法启动NTDS服务
用Windows Server Backup做一次可靠备份
无需第三方工具,系统自带功能就能覆盖全部组件:
- 以 Domain Admin 身份登录,打开 Windows Server Backup
- 选“一次性备份”→“自定义”→勾选 系统状态(自动包含AD、SYSVOL、注册表等)
- 目标位置必须独立于系统盘(建议外接磁盘或专用网络共享)
- 启用 VSS完整备份,禁用增量(AD不支持增量还原)
- 备份完成后,立即验证:在测试环境尝试非权威还原,确认OU、用户、GPO都能正确出现
备份之后的关键动作
备份文件躺在磁盘上不等于有效:
- 定期测试还原:每季度至少一次,模拟误删OU场景,走完完整恢复流程
- 保留多版本:至少保留3个不同时间点的备份,避免备份时恰好遇到逻辑损坏
- 离线保护:一份备份拷贝脱机保存(如加密U盘锁保险柜),防勒索软件加密备份卷
- 记录元数据:记下每次备份的时间、域控制器主机名、FSMO角色持有者,还原时少踩坑











