It’s a tough decision to upgrade a server that is working perfectly. It’s not something that most administrators take lightly. But what happens when you have decided you need to move to a Windows Server 2003 network? How will you easily make the change?

You’ve already invested hundreds, if not thousands, of hours configuring and tweaking your current network. To have to start all over is something you definitely want to avoid if at all possible. Microsoft acknowledges this concern and realizes that the easier it is to migrate to a newer version of Windows, the more likely organizations will be to make the move.

While there are many things that you will need to consider when moving from a Windows 2000 Server-based network to a Windows Server 2003-based network, one of the most important things you’ll do is migrate your existing DHCP services. DHCP is one of the two critical basic network services that any Windows 2000 or Windows 2003 network must have—the other being DNS. Migrating a Windows 2000 DNS database to Windows Server 2003 is actually a simpler process, requiring only a zone transfer to be completed to transfer the DNS zone information. DHCP, on the other hand, has no built-in mechanism to easily transfer its database information from one server to another. However, with a little bit of work, you can quickly migrate your DHCP services from your Windows 2000 server to Windows Server 2003.

Doing the two-step
The process to migrate your Windows 2000 Server DHCP database to Windows Server 2003 requires a two-step strategy. First, you’ll export the DHCP settings from your old Windows 2000 server. Then, you’ll import those settings into the server that’s running Windows Server 2003. You should be prepared to spend about 15-20 minutes performing the procedure, assuming that you already have Windows Server 2003 installed and configured ahead of time.

Moving the settings out
Migrating the DHCP database settings off of your Windows 2000 server is a fairly simple task that can be accomplished in short order. You will need to disable the DHCP service on the Windows 2000 server so that it cannot be started again. This is done using the Services console located in your Administrative Tools folder. Double-click on the DHCP Server item and select Disabled, as shown in Figure A.

Figure A
You will need to disable the server in order to prevent its continued use.

After disabling the service, you will need to stop the currently running service. This can be done by either clicking the Stop button shown in Figure A or by issuing the net stop dhcpserver command from the command line. After disabling and stopping the running DHCP service, all that remains to be done on the Windows 2000 server is to export the DHCP database information.

You can do this using the Registry Editor (regedt32). Save the appropriate key to another location, such as a networked drive that is accessible to both the Windows 2000 server and the server running Windows Server 2003. Open the Registry Editor and navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DhcpServer\Configuration key.

Once there, click the Registry menu and select Save Key, as shown in Figure B. Save the key with a name that you will recognize, such as config.key.

Figure B
Export the Configuration key to migrate the Windows 2000 DHCP server settings out.

One last task remains to be done on the Windows 2000 server. You need to copy the entire contents of the %SystemRoot%\System32\Dhcp folder, seen in Figure C, to another location as well, preferably the same network drive where you placed the configuration key previously. Now it’s time to move to the server that’s running Windows Server 2003.

Figure C
Be sure to copy all of the files in the DHCP folder.

Moving the settings in
Now you are ready to migrate your DHCP configuration to Windows Server 2003. You will need to have already installed the DHCP Server service on the computer. If you have not done so, you can do this from the Windows Component Wizard under the Networking Services option group. The Windows Component Wizard can be launched from the Add Or Remove Programs applet by clicking Add/Remove Windows Components.

Once you’ve gotten the DHCP service installed, you will need to stop it so that that you can import the DHCP configuration. Issue the net stop dhcpserver command from the command line to stop the DHCP Server service. You are now ready to import the DHCP configuration into Windows Server 2003.

You will first need to import the registry key by using the Registry Editor. On the server that’s running Windows Server 2003, navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DhcpServer\Configuration key. From the Registry menu, click Restore. Navigate to the location where you have saved the key file and select it. When prompted to overwrite the existing key information, click Yes.

The next step you will need to complete is the transfer of the %SystemRoot%\System32\Dhcp folder contents. Navigate to this location and delete all contents in the folder, including all subfolders and their contents. Copy the information into this folder that was taken from the Windows 2000 server previously.

After you’ve completed this step, you can now get down to the business of putting your new Windows Server 2003 DHCP server in operation. You will need to start the DHCP Server service by issuing the net start dhcpserver command from the command line. You should receive the confirmation dialog shown in Figure D.

Figure D
The DHCP Server service has been started successfully.

You will then need to perform some tidying up within the DHCP console. Open the DHCP console from the Administrative Tools folder and reconcile all scopes by clicking Action, Reconcile All Scopes. If any leases are found that need to be reconciled, click Reconcile to synchronize the DHCP Registry and Active Directory settings.

Last, if you have not already authorized this DHCP server in Active Directory, you will need to do that now by right-clicking on the DHCP server and selecting Authorize from the context menu. Depending on the network conditions, it may take some time for the authorization command to be executed. You can refresh the DHCP console by pressing the [F5] key. When your scope shows up with a status of “Active,” as shown in Figure E, then you have completed the process.

Figure E
All is well; DHCP has been migrated.