These steps describe how to move a Dynamic Host Configuration Protocol (DHCP) database from a computer that is running Microsoft Windows NT Server 4.0 or Microsoft Windows 2000 to a computer that is running Windows Server 2008.
Note You can use the Microsoft Windows backup utility (ntbackup.exe) to back up and restore the DHCP database on a single server. Do not use the backup utility to migrate or to move a DHCP database from one DHCP server to another.
Export the DHCP database from a server that is running Windows NT Server 4.0 or Windows 2000
Stop the DHCP Server service on the server:
Log on to the source DHCP server by using an account that is a member of the local Administrators group.
Click Start , click Run , type cmd in the Open box, and then click OK .
At the command prompt, type net stop dhcpserver , and then press ENTER. You receive a "The Microsoft DHCP Server service is stopping. The Microsoft DHCP Server service was stopped successfully" message.
Type exit , and then press ENTER.
Compact the DHCP database by using the JetPack utility:
At the command prompt, type cd %systemroot%\system32\dhcp , and then press ENTER.
Type jetpack dhcp.mdb temp.mdb , and then press ENTER.
After the database is compacted successfully, type exit , and then press ENTER.
Export the DHCP database by using the DHCP Export Import utility (Dhcpexim.exe). You can obtain this utility from the Windows 2000 Resource Kit Supplement 1. You can also visit the following Microsoft Web site to obtain Dhcpexim.exe:
To export the database:
Install the Dhcpexim.exe utility, and then start the Dhcpexim.exe utility.
At the Welcome to DHCP Export Import tool screen, click Export configuration of the local service to a file , and then click Ok .
In the File name box, type the file name for the exported file, and then click Save . For example, type dhcpdatabase.txt .
Click the scope or scopes that you want to export, click to select the Disable the selected scopes on local machine before export check box, and then click Export .
Click OK .
Disable the DHCP Server service on the server. Disabling the DHCP Server service prevents the service from starting after the database has been transferred. To disable the DHCP Server service:
Click Start , point to Settings , click Control Panel , and then double-click Services .
In the Service list, click Microsoft DHCP Server , click Startup , click Disabled , and then click OK .
If the service is started, click Stop , and then click Yes to confirm the stopping of the service.
Click Close to close the Services dialog box.
Important Dhcpexim.exe is required to move the database successfully from a server that is running Windows 2000 to a server that is running Windows Server 2008. Netsh commands for DHCP are not available in Windows NT 4.0.
Note If only the configuration (not the database) is required, use the following command (instead of Dhcpexim.exe) on the Windows 2000-based server that you want to export from. (Do not use Dhcpexim.exe.)
netsh dhcp dump > C:\dhcp.txt
where C:\dhcp.txt is the name and path of the export file that you want to use.
Note The export option does not exist in the netsh command on Windows 2000 Server. The netsh dhcp server dump and netsh dhcp server import commands are not compatible. If you try to import the data that is created by netsh dhcp server dump > C:\dhcp.txt by using netsh DHCP server import > C:\dhcp.txt , you receive the following error message on the Windows Server 2008-based computer:
The request is not supported.
You can migrate the exported configuration file to the new Windows Server 2008 server by using the following command:
netsh exec c:\dhcp.txt
Install the DHCP server service on the server that is running Windows Server 2008
To install the DHCP Server service on an existing Windows Server 2008-based computer:
Click Start , point to All Programs , point to Administrative Tools , and then click Server Manager .
In the console tree of Server Manager, right-click Roles , and then click Add Roles .
In the Add Roles Wizard, click Next .
On the Select Server Roles page, click to select the DHCP Server check box, and then click Next .
Review the information on the Introduction to DHCP Server page, and then click Next .
Follow the instructions in the Add Roles Wizard to complete the installation.
Import the DHCP database
Note You may receive an "access denied" message during this procedure if you are not a member of the Backup Operators group. If you receive an "Unable to determine the DHCP server version for server" error message, make sure that the DHCP Server service is running on the server and that the user logged on is a member of the local Administrators group.
Important Do not use Dhcpexim.exe to import a DHCP database in Windows Server 2008. Additionally, if the target Windows 2008 server is a member server, and if you plan to promote it to a domain controller, we suggested that you perform the DHCP database migration before promoting it to a domain controller. Although you can migrate the DHCP database to a Windows 2008 domain controller, the migration to a member server will be easier because of the existence of the local administrator account.
Log on as a user who is an explicit member of the local Administrators group. A user account in a group that is a member of the local Administrators group will not work. If a local Administrators account does not exist for the domain controller, restart the computer in Directory Services Restore Mode, and use the administrator account to import the database as described later in this section.
Copy the exported DHCP database file to the local hard disk of the Windows Server 2008-based computer.
Verify that the DHCP service is started on the Windows Server 2008-based computer.
At the command prompt, type netsh dhcp server import c:\dhcpdatabase.txt all , and then press ENTER, where c:\dhcpdatabase.txt is the full path and file name of the database file that you copied to the server.
Note When you try to export a DHCP database from a Windows 2000 domain controller to a Windows Server 2008 member server of the domain, you may receive the following error message:
Error initializing and reading the service configuration - Access Denied
Note You must have local administrator permissions to import the data.
To resolve this issue, add the Windows Server 2008 DHCP server computer to the DHCP Admins group at the Enterprise level.
If the "access is denied" error message occurs after you add the Windows Server 2008 DCHP server computer to the DHCP Admins group at the Enterprise level that is mentioned in step 4, verify that the user account that is currently used to import belongs to the local Administrators group. If the account does not belong to this group, add the account to that group, or log on as a local administrator to complete the import.
After you receive the message that the command completed successfully, quit the command prompt.
Authorize the DHCP server
Click Start , point to All Programs , point to Administrative Tools , and then click DHCP . Note You must be logged on to the server by using an account that is a member of the Administrators group. In an Active Directory domain, you must be logged on to the server by using an account that is a member of the Enterprise Administrators group.
In the console tree of the DHCP snap-in, expand the new DHCP server. If there is a red arrow in the lower-right corner of the server object, the server has not yet been authorized.
Right-click the server object, and then click Authorize .
After several moments, right-click the server again, and then click Refresh . A green arrow indicates that the DHCP server is authorized.
- Mike Platts
Thanks. Your first step creates a tmp.mdb file as a compact version of dhcp.mdb. I do not see any reference to tmp.mdb in your succeeding steps on export. Am I missing something? Please clarify. Thanks
Hi Sesh - the temp.mdb file is just a filename for jetpack to use during the compaction process. It is not the output file. DHCP.MDB is the compacted file once jetpack has finished. One of our older articles, KB 145881 talks about the use of Jetpack.exe. In the Note at the end of the article, this is mentioned. Hope this helps!
Hi. Does this procedure run for Windows 2008 R2 too ?
Mike Platts this article is going to save me much time! Currently, during a 2008 Domain upgrade and have some big DHCP configurations to deal with. Thanks for your help...tell the guys @ LC2 I said hello! Your the man!
BJ (formerly known as a-bjdani)...Yup that BJ!