We have one Windows 2000 Server domain controller (DC) running Exchange Server 2003. I want to upgrade the OS to Windows Server 2003. What's the best way to accomplish this?

Some administrators are gun-shy about in-place upgrades and prefer to perform clean installations whenever possible. My experience has been that in-place upgrades work well the vast majority of the time, but that taking a backup and verifying it before starting the upgrade are crucial steps, and you must know how to restore that backup if necessary.

Having said that (and also noting that Microsoft recommends against running Exchange on a DC in the first place), I'll tell you that performing an in-place upgrade of Windows without disturbing an existing Exchange installation is technically possible. However, because your server is also a DC, any problems you run into during the upgrade process have the potential to require quite a bit of disaster recovery. A safer approach would be to add a second server—even a cheap one. Doing so opens up several options.

The first option is to make the new server a DC in your existing forest, then follow the procedures in the Microsoft article "How to view and transfer FSMO roles in Windows Server 2003" (http://support.microsoft.com/?kbid=324801) to transfer Flexible Single-Master Operation (FSMO) roles from the existing DC to the new one. This method gives you a clean installation of Windows 2003, plus an extra degree of redundancy. Microsoft doesn't support running Dcpromo on a machine that already has Exchange installed, though, so you can't directly turn your Exchange server/DC combination back into a plain Exchange server by using this route. If you don't mind having two DCs, this is the method I recommend because of the added redundancy it gives you for your domain.

The second option is to install Exchange on the new server and move all your existing mailboxes and public folders to the new server. With your Exchange data safe on another box, you can upgrade the DC to Windows 2003. If you want to, you can follow the instructions in the Microsoft article "How to remove the first Exchange Server 2003 computer from the administrative group" (http://support.microsoft.com/?kbid=822931) to decommission the first Exchange server; if you do, you'll have separated the DC and Exchange server roles, which will make future disaster recovery much easier. If you don't want to permanently separate those roles, instead of decommissioning the first server, just move the mailboxes and public folders back to it, then remove the second server from your Exchange organization.