First things first: If DHCP-enabled clients aren't communicating with the rest of the LAN, you're obviously not going to sit right down at the DHCP server and try to figure out what's gone wrong. Remember Networking 101 and start with the basics:
- Check the PC's network cable(s) and the network card(s) first.
- Ping the local loopback address.
- Use the Ipconfig/all command at the command line of a workstation. If you get an address in the range 169.254.x.x on a Windows 2000 client, you'll know that the client was unable to obtain an IP address from the DHCP server.
- Try using the Ipconfig/release command followed by Ipconfig/renew. Reboot the failing workstation.
- Reinstall the TCP/IP stack on the failing workstation.
If running through the basic checklist doesn't solve the problem, you'll need to log on to the Windows 2000 server that is running the DHCP Server Service. Run through the basics on this machine as well, taking care to verify the physical integrity of the server and its components, particularly the network cable(s) and netcard(s). Then check the status of the DHCP Server Service and the IP address leases themselves. You can do this in the DHCP MMC by clicking Start | Programs | Administrative Tools | DHCP. Next, check the Event Viewer to see if it has thrown up any error codes (event IDs) commonly associated with DHCP. These will most likely refer to JET database corruption. The DHCP database, which is a JET database called Dhcp.mdb and is located at %Systemroot% \System32 \Dhcp, can sometimes become corrupted, and this will be enough to throw your DHCP server off course. Big JET databases, those over 25-30 MB in size, are most prone to corruption, so bear this in mind if your installation has problems. If you think this might be a cause of the problem, check the available disk space because insufficient space will prevent the DHCP server from servicing clients. Some common JET database error codes you'll see in Event Viewer include:
- The JET database returned the following Error: -510.
- The JET database returned the following Error: -1022.
- The JET database returned the following Error: -1850.
In this example, Jetpack repairs and compacts the current Dhcp.mdb file into a new file called Tmp.mdb. It then deletes the original (corrupted) database file and renames Tmp.mdb, Dhcp.mdb. If your original Dhcp.mdb file was fairly big, you'll notice that the file size has shrunk, maybe significantly, once Jetpack has run. If this method succeeds and the DHCP Server Service starts smoothly, your clients should be able to reconnect to the LAN and successfully renew their IP address leases. Is your DHCP server a Windows NT server?
Note that the inclusion of dynamic compaction in Windows 2000 minimizes DHCP database corruption, which simply means that the same operation is carried out periodically without stopping the DHCP Server Service. However, this is not the case in Windows NT. If you're using a Windows NT server as a DHCP server, you must stop the DHCP Server Service before you run Jetpack.exe.





