必须用netsh dhcp server export/import备份还原DHCP数据库,禁止直接复制dhcp.mdb;还原前须停止服务、清空旧配置(全量时);迁移需双机共存、租约同步、AD授权后无缝切换。
备份DHCP数据库:确保配置不丢失
windows server的dhcp服务将作用域、保留地址、选项等关键配置全部存于本地数据库(%systemroot%system32dhcpdhcp.mdb),该文件受系统保护,不能直接复制。必须使用netsh dhcp server export命令执行一致性快照式备份:
- 以管理员身份运行CMD或PowerShell,执行:
netsh dhcp server \localhost export C:dhcp_backupdhcp_export.txt all - 路径需存在且有写入权限;export会自动导出所有作用域、策略、服务器选项和保留项
- 建议加入计划任务每日执行,例如:
schtasks /create /tn "DHCP-Daily-Backup" /tr "netsh dhcp server export C:dhcp_backupdhcp_%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt all" /sc daily /st 02:00 - 导出文件是纯文本,可人工校验、版本控制或压缩归档,但不可直接用于还原(需用import)
还原DHCP数据库:快速恢复服务状态
还原操作分两种场景:原服务器故障后重建,或误操作后回退。注意:还原前必须停止DHCP服务,否则导入失败:
- 停止服务:net stop dhcpserver(或通过服务管理器停用DHCP Server)
- 清空当前数据库(仅限还原全量备份时):netsh dhcp server delete scope all(慎用!仅当确认要覆盖全部配置)
- 执行导入:netsh dhcp server import C:dhcp_backupdhcp_export.txt all
- 启动服务:net start dhcpserver,随后检查事件查看器中DHCP日志是否报错
- 验证:运行netsh dhcp server show scope确认作用域已加载,用ipconfig /renew在客户端测试地址分配
平滑迁移DHCP服务:从旧服务器到新服务器
迁移不是简单复制数据库,而是保持IP地址池连续性、避免租约中断、最小化终端影响。核心是“双机共存+租约同步+无缝切换”:
- 在新服务器安装DHCP角色,但先不授权、不启用作用域
- 从旧服务器导出配置:netsh dhcp server export C:migratedhcp_full.txt all
- 在新服务器上导入(同样需先停DHCP服务):netsh dhcp server import C:migratedhcp_full.txt all
- 修改新服务器作用域属性:将“租约期限”设为较短值(如1小时),并启用“冲突检测”(2次ARP探测)
- 在AD中对新服务器执行DHCP授权(需Enterprise Admin权限),然后启用作用域
- 设置旧服务器作用域为“不活动”(右键作用域→“停用”),观察客户端是否正常获取新服务器地址;确认无误后,再彻底卸载旧DHCP角色
注意事项与常见问题
实际运维中几个易踩坑点:
- 备份文件权限问题:若导出到网络路径或受限目录,可能因UAC或ACL失败,建议优先使用本地NTFS卷
- 跨版本迁移限制:Windows Server 2012 R2导出的文件无法直接导入2022,需经中间版本转换或手动重建关键策略
- 超级作用域/多播作用域需单独处理,export all默认包含,但导入后需检查成员作用域绑定关系是否完整
- 若遇到“Access is denied”错误,请确认账户属于DHCP Administrators组,且命令行以管理员身份运行
- 生产环境强烈建议在维护窗口期操作,并提前通知用户可能发生的短暂续租延迟










