Hurry Up and Wait
Getting Exchange to restart can be a long waiting game for one admin.
- By Bill Boswell
I know that the Microsoft gospel is never
to run Exchange, SQL Server, etc. on a domain controller. However, we
have a small shop and we can't afford to have separate machines. Exchange
2003 appears to run fine on our Windows Server 2003 domain controllers
except when we reboot (a frequent event with all the security patches
that come out.)
It takes a very long time to shut down the Exchange server that is also
a domain controller. The restart is also slow and Exchange services do
not always start automatically. I can start them manually and they run
I am assuming that Exchange is trying to start before some other services
have started? Is there a work around for this problem? Does the Global
Catalog play a part in this as well?
Help from Bill
Got a Windows or Exchange question or need troubleshooting
help? Or maybe you want a better explanation than provided
in the manuals? Describe your dilemma in an e-mail
to Bill at mailto:firstname.lastname@example.org;
the best questions get answered in this column.
When you send your questions, please include your
full first and last name, location, certifications (if
any) with your message. (If you prefer to remain anonymous,
specify this in your message but submit the requested
information for verification purposes.)
Lynne: Microsoft has documented the slow shutdown
in Knowledge Base article 829361,
"Exchange Server 2003 Computer Takes Longer Than You Expect to Shut
Down." In essence, there's a race condition between the Active Directory
services and the Exchange services that causes the slow shutdowns you've
recommends manually shutting down the Exchange services before shutting
down the server, which you can do with a batch file. The following batch
file shuts down the Exchange services then initiates an immediate shutdown
followed by a restart:
@Echo You're about to stop all Exchange services and restart this server.
Press Ctrl-C to abort.
net stop msexchangeis
net stop msexchangemta
net stop msexchangesa
net stop msexchangesrs
shutdown /t 0 /r
I ordered the services to avoid a dependency prompt. You would not include
the MSExchangeSRS service unless the server were running Site Replication
Services in a mixed-mode organization. You may need to add POP3svc and
IMAPsvc if you use these features on your Exchange server. You'd need
admin rights on the server to run the batch file, of course.
Following restart, you can run a similar batch file to start the Exchange
net start resvc
net start msexchangemta
net start msexchangesa
net start msexchangeis
net start msexchangesrs
If one of services is already running, that line item in the batch file
will simply error out and the batch file will proceed to the next service.
To automate the restart verification, run the batch file as a Startup
script in a Group Policy Object linked to the Domain Controllers OU. Target
the GPO to members of the Exchange Domain Servers group to avoid getting
start-up errors on your other domain controllers.
Hope this helps!
Contributing Editor Bill Boswell, MCSE, is the principal of Bill Boswell Consulting, Inc. He's the author of Inside Windows Server 2003 and Learning Exchange Server 2003 both from Addison Wesley. Bill is also Redmond magazine's "Windows Insider" columnist and a speaker at MCP Magazine's TechMentor Conferences.