如果直接从Windows 2003的DHCP服务导出数据库,然后在Windows 2008 R2D的DHCP服务里导入数据库会发生如下错误:迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

 

这个是由于DHCP的“Add Classes”类的不同导致的。解决办法是需要在Windows 2003的DHCP服务器上删除原Add Classes类,把Windows 2008的DHCP服务的Add Classes类添加上去即可。可以参考微软KB:

http://support.microsoft.com/kb/885687/en-us

 

下面我们就使用微软官方参考文档的方法步骤来把DHCP服务从WIN2K3迁移到WIN2K8。

导出Windows 2003的DHCP服务器DUMP文件

1) 在Windows 2003的域控制器DHCP服务器上,单击 开始、 单击 运行,键入 cmd,然后单击确定。在命令提示符键入 netsh dhcp server dump  >c:\exportdump.txt,然后按回车,本次操作是在Windows 2003服务器(172.16.5.20)上运行;

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

修改Windows 2003的DHCP服务器DUMP文件

使用记事本打开Windows 2003的DUMP文件,在ADD Classes类里的命令行添加NETSH与把ADD参数修改为Delete,如下图:

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

 

在Windows 2003的DHCP服务器删除类

修改完成后,在Windows 2003的DHCP服务器(172.16.5.20)上运行修改后的命令,在命令行模式下先删除原Windows 2003的“添加类”,在命令行模式下分别运行以下各行命令:

netsh Dhcp Server 172.16.5.20 Delete Class "默认路由和远程访问类别" "远程访问客户端的用户类别" 525241532e4d6963726f736f6674 0 b

netsh Dhcp Server 172.16.5.20 Delete Class "默认 BOOTP 的类别" "BOOTP 客户端的用户类别" 424f4f54502e4d6963726f736f6674 0 b

netsh Dhcp Server 172.16.5.20 Delete Class "Microsoft Windows 2000 选项" "Windows 2000 客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b

netsh Dhcp Server 172.16.5.20 Delete Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b

netsh Dhcp Server 172.16.5.20 Delete Class "Microsoft 选项" "适用于 Windows 98 和 Windows 2000 客户端的 Microsoft 供应商特定选项" 4d534654 1 b

   

导出Windows 2008的DHCP服务器DUMP文件

1) 在Windows 2008 R2的DHCP服务器(172.16.4.23)上,单击 开始、 单击 运行,键入 cmd,然后单击 确定。在命令提示符键入 netsh dhcp server dump > importdump.txt,然后按回车;

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

 

2) 在导出的DUMP文件修改如下:

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

修改完成后,把修改过的命令复制到Windows 2003的DHCP服务器(172.10.4.23)上运行,运行添加Window 2008的“添加类”,下面是在Windows 2003命令行模式下分别运行以下各行命令;

netsh Dhcp Server 172.16.5.20 Add Class "默认路由和远程访问类" "远程访问客户端的用户类" 525241532e4d6963726f736f6674 0 b

netsh Dhcp Server 172.16.5.20 Add Class "默认的网络访问保护级别" "受限访问客户端的默认特殊用户类" 4d5346542051756172616e74696e65 0 b

netsh Dhcp Server 172.16.5.20 Add Class "默认 BOOTP 类" "BOOTP 客户端的用户类" 424f4f54502e4d6963726f736f6674 0 b

netsh Dhcp Server 172.16.5.20 Add Class "Microsoft Windows 2000 选项" "针对 Windows 2000 及更高版本客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b

netsh Dhcp Server 172.16.5.20 Add Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b

netsh Dhcp Server 172.16.5.20 Add Class "Microsoft 选项" "适用于所有 Windows 客户端的 Microsoft 供应商特定选项" 4d534654 1 b

至此,我们就已经成功把Win2k3的类删除,添加了Win2k8的类,结果如下面图:

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

也可以把文件生成批处理文件来批量来执行删除与添加,在Window 2003的DHCP服务器上运行此命令即可。

导出导入数据库

在Windows 2003的服务器(172.16.5.20)上导出DHCP数据库,在Windows 2003的DHCP服务器上的命令行模式运行以下命令:

在172.16.5.20上运行命令行:Netsh dhcp server export c:\dhcp.txt all

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上

在Windows 2008的DHCP服务器(172.16.4.23)上删除原旧数据库;

 

把在Windows2003服务器导出DHCP数据文件拷贝到Windows 2008服务器上,并运行以下命令导入DHCP数据库:

在172.16.4.23运行命令行:netsh dhcp server import c:\dhcp.txt

迁移Windows <wbr>2003 <wbr>DHCP服务数据库到Windows <wbr>2008服务器上