Skip to main content

Migrating Windows Server 2003 DHCP to Windows 2016

By June 25, 2018September 18th, 2020Blog, Microsoft, Windows
Windows Server DHCP Migration

I recently had a client project that involved upgrading their Active Directory to Windows 2016. Their domain and functional levels were both Windows 2000 (!) so we had to do some work to get them up to date.

Their primary DHCP services were running out of two locations, with two DHCP servers at each—all of them running windows 2003.  Normally when you do a DHCP migration from newer versions of windows server, you can simply use the GUI tools to do a DHCP backup and restore, but since there are so many version differences here, we must use NETSH.

Step One: Export the DHCP Database

To start off, you’ll need to log into the Windows 2003 server and open a command prompt. Then issue the following commands:

Mkdir c:\temp\dhcpexport



Server \\<server ip address>

Export c:\temp\dhcpexport\server-database all


This will export the entire database with scope options and leases—the leases are the important part as we don’t want the new server giving out duplicate IP addresses since it doesn’t know what clients have already been issued which IP addresses from the scope.

Step Two: Import the Database

Next, copy the database file to your new Windows Server 2016; preferably, make a new directory on that server. Once you have copied the file to your 2016 server, open an administrative command prompt and issue the following commands:



Server \\<server ip address>

import c:\temp\dhcpexport\server-database all


Now you can open the DHCP management console and verify that the scopes, reservations, scope options, and leases have all successfully been imported.

Configuring DHCP Failover

For my customer, they were using split scopes, so once I had the primary scope imported, I removed the scope exclusions for the second server, then made my new secondary windows 2016 server a failover partner. DHCP failover is a much better option for a modern DHCP deployment than the old split scope method and allows for a much easier and simpler-to-manage DHCP server.

This can be configured by right-clicking your IPv4 (or IPv6) option under your new server and selecting “Configure Failover”

At the first screen, click next, then select your target failover server.  Your target must be at least Windows 2012 or greater revision.

On the next screen, you can then select your failover options.

DHCP Configure Failover Screenshot

Then click next

DHCP Configure Failover Screenshot

Joe Hanning, PEI


  • Chris Bradley says:

    Couple questions. We have a similar situation (but only have one dhcp server with no failover). In step 2, I’m assuming the “open an administrative command prompt” is done on the new 2016 server, correct? Also, would you recommend changing the IP address of the new 2016 Server to the same as the 2013 one (after downing/disconnecting the 2003 server)?

    • Stephanie Hamrick says:

      Hi Chris,

      Thanks for reading! Here’s a response from the post’s author:

      In step two, yes the admin command prompt should be opened on the new 2016 server to issue the database import commands. For your second question, if you’ve removed all other services from the old DHCP server and disconnected it, absolutely swap the IP addresses, I’d much rather do that if I have the option than having to bother my network engineer to update the DHCP helper addresses everywhere on the network!

  • Thanks it was very very helpful

Leave a Reply