本文分步介绍如何将动态主机配置协议 (DHCP) 数据库从运行 Microsoft Windows NT Server 4.0、Microsoft Windows 2000 或 Microsoft Windows Server 2003 的计算机移动到运行 Windows Server 2003 的计算机上。

注意:您可以使用 Microsoft Windows 备份工具 (ntbackup.exe) 在单台服务器上备份和还原 DHCP 数据库。不要使用该备份工具将 DHCP 数据库从一台 DHCP 服务器上迁移或移动到另一台 DHCP 服务器上。

从运行 Windows NT Server 4.0 或 Windows 2000 的服务器上导出 DHCP 数据库

  1. 停止服务器上的 DHCP 服务器服务:
    1. 使用具有本地 Administrators 组的成员身份的帐户登录到源 DHCP 服务器。
    2. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    3. 在命令提示符下,键入 net stop dhcpserver,然后按 Enter。您会收到“Microsoft DHCP Server 服务正在停止。Microsoft DHCP Server 服务已成功停止”的消息。
    4. 键入 exit,然后按 Enter。
  2. 使用 JetPack 实用工具压缩 DHCP 数据库:
    1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 在命令提示符下,键入 cd %systemroot%\system32\dhcp,然后按 Enter。
    3. 键入 jetpack dhcp.mdb temp.mdb,然后按 Enter。
    4. 成功压缩数据库之后,键入 exit,然后按 Enter。
  3. 使用 DHCP 导出导入实用工具 (Dhcpexim.exe) 可导出 DHCP 数据库。您可以从 Windows 2000 Resource Kit Supplement 1 获取此实用工具。还可以访问以下 Microsoft 网站以获取 Dhcpexim.exe:
    [url]http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/dhcpexim-o.asp[/url] ([url]http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/dhcpexim-o.asp[/url])
    导出数据库:
    1. 安装 Dhcpexim.exe 实用工具,然后启动该 Dhcpexim.exe 实用工具。
    2. 在“欢迎使用 DHCP 导出导入工具”屏幕上,单击“将本地服务的配置导出到文件”,然后单击“确定”。
    3. 在“文件名”框中,键入导出文件的文件名,然后单击“保存”。例如,键入 dhcpdatabase.txt
    4. 单击您要导出的范围,单击 “导出前禁用本地计算机上的选定范围”复选框,以将其选中,然后单击“导出”。
    5. 单击“确定”。
  4. 禁用服务器上的 DHCP 服务器服务。禁用 DHCP 服务器服务可防止该服务在传送数据库后启动。禁用 DHCP 服务器服务:
    1. 单击“开始”,指向“设置”,单击“控制面板”,然后双击“服务”。
    2. 在“服务”列表中,依次单击“Microsoft DHCP 服务器”、“启动”和“禁用”,然后单击“确定”。
    3. 如果该服务已启动,则单击“停止”,然后单击“是”确认停止该服务。
    4. 单击“关闭”以关闭“服务”对话框。
重要说明:需要使用 Dhcpexim.exe 才能将数据库从运行 Windows 2000 或 Windows NT 4.0 的服务器中成功地移动到运行 Windows Server 2003 的服务器上。DHCP 的 Netsh 命令在 Windows NT 4.0 中不可用。

注意:如果只需要配置(而不需要数据库),请在要从中导出配置的基于 Windows 2000 的服务器上使用以下命令(而不使用 Dhcpexim.exe)。(不要使用 Dhcpexim.exe。)
netsh dhcp dump >C:\dhcp.txt
其中, C:\dhcp.txt 是您要使用的导出文件的名称和路径。

注意 在 Windows 2000 服务器上,“netsh”命令中没有导出选项。 netsh dhcp server dumpnetsh dhcp server import 命令是不兼容的。如果您尝试使用 netsh DHCP server import > C:\dhcp.txt 导入由 netsh dhcp server dump > C:\dhcp.txt 创建的数据,则会在基于 Windows Server 2003 的计算机上收到以下错误消息:
不支持请求。
可以使用以下命令将导出的配置文件迁移到新的 Windows Server 2003 服务器上:
netsh exec c:\dhcp.txt
在 Windows Server 2003 中不支持 Dhcpexim.exe。如果使用 Dhcpexim.exe 在基于 Windows 2000 的计算机上导出一个数据库,然后您尝试将该数据导入到 Windows Server 2003 中,则 Dhcpexim.exe 将退出,并且您会收到以下错误消息:
发生错误。试图加载格式不正确的程序。
如果出现这种情况,请使用“dhcpexim”从 Windows 2000 中导出数据,然后使用“netsh”DHCP 服务器导入 xyz.txt 将该数据导入 Windows Server 2003 环境中。

从运行 Microsoft Windows Server 2003 的服务器上导出 DHCP 数据库

将 DHCP 数据库和配置从运行 Windows Server 2003 的服务器移动到另一台运行 Windows Server 2003 的服务器:
  1. 使用具有本地 Administrators 组的成员身份的帐户登录到源 DHCP 服务器。
  2. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
  3. 键入 netsh dhcp server export C:\dhcp.txt all,然后按 Enter。

注意:您必须具有本地管理员权限才能导出数据。

在运行 Windows Server 2003 的服务器上安装 DHCP 服务器服务

在现有基于 Windows Server 2003 的服务器上安装 DHCP 服务器服务:
  1. 单击“开始”,单击“控制面板”,然后双击“添加或删除程序”。
  2. 单击“添加/删除 Windows 组件”。
  3. 在“Windows 组件向导”中,单击“组件”框中的“网络服务”,然后单击“详细信息”。
  4. 如果尚未选中“动态主机配置协议 (DHCP)”复选框,请单击该复选框,将其选中,然后单击“确定”。
  5. 在“Windows 组件向导”中,单击“下一步”以安装所选组件。请将 Windows Server 2003 CD 插入到您计算机的 CD 驱动器或 DVD 驱动器中(如果提示您这样做)。安装程序会将 DHCP 服务器和工具文件复制到计算机上。
  6. 安装完成后,单击“完成”。

导入 DHCP 数据库

注意:如果您不是 Backup Operators 组的成员,则在此过程中您可能会收到一条“access denied”消息。如果您收到“Unable to determine the DHCP server version for server”错误消息,请确保在服务器上正在运行 DHCP 服务器服务并且已登录的用户是本地管理员组的成员。

重要说明:不要使用 Dhcpexim.exe 在 Windows Server 2003 中导入 DHCP 数据库。此外,如果目标 Windows 2003 服务器是成员服务器,并且您打算将其升级为域控制器,我们建议您在将其升级为域控制器之前首先执行 DHCP 数据库迁移。尽管您可以将 DHCP 数据库迁移至 Windows 2003 域控制器,但是迁移至成员服务器要更加容易,原因是存在本地管理员帐户。
  1. 以本地 Administrators 组的显式成员的用户身份进行登录。作为本地 Administrators 组的成员的组中的用户帐户将不起作用。如果不存在对域控制器的本地 Administrators 帐户,请以目录服务还原模式重新启动计算机,并按照本部分后面所述,使用管理员帐户导入数据库。
  2. 将导出的 DHCP 数据库文件复制到基于 Windows Server 2003 的计算机的本地硬盘上。
  3. 验证在基于 Windows Server 2003 的计算机上已启动 DHCP 服务。
  4. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
  5. 在命令提示符下,键入 netsh dhcp server import c:\dhcpdatabase.txt all,然后按 Enter,其中 c:\dhcpdatabase.txt 是您复制到服务器上的数据库文件的完整路径和文件名。

    注意:当您尝试从 Windows 2000 域控制器上向该域的 Windows Server 2003 成员服务器导出 DHCP 数据库时,可能会收到以下错误消息:
    Error initializing and reading the service configuration - Access Denied
    注意:您必须具有本地管理员权限才能导入数据。
  6. 要解决此问题,请将 Windows Server 2003 DHCP 服务器计算机添加到 DHCP Admins 组的“企业”级别。
  7. 如果在您按照步骤 4 所述,将 Windows Server 2003 DCHP 服务器计算机添加到 DHCP Admins 组的“企业”级别之后,仍然出现“access is denied”错误消息,请验证当前用于导入的用户帐户是否属于本地管理员组。如果该帐户不属于此组,请将该帐户添加到管理员组,或作为本地管理员登录以完成导入。

    注意:如果对于不是本地 Administrators 组的显式成员的用户,DHCP IMPORT 或 EXPORT 命令失败,则必须在基于 Windows Server 2003 的计算机上应用以下修复程序:

    833167  ([url]http://support.microsoft.com/kb/833167/[/url] ) Windows Server 2003 的卷影复制服务 (VSS) 更新程序包现已推出
  8. 在您收到命令成功完成的消息后,请退出命令提示符。

授权 DHCP 服务器

  1. 单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“DHCP”。

    注意:您必须使用具有 Administrators 组成员身份的帐户才能登录到该服务器。在 Active Directory 域中,您必须使用具有 Enterprise Administrators 组成员身份的帐户才能登录到该服务器。
  2. 在 DHCP 管理单元的控制台树中,展开新的 DHCP 服务器。如果在服务器对象的右下角有一个红色箭头,则说明该服务器尚未被授权。
  3. 右键单击该服务器对象,然后单击“授权”。
  4. 过一会,再次右键单击该服务器,然后单击“刷新”。绿色箭头指示该 DHCP 服务器已被授权。