If you’ve ever had to install and maintain Exchange Server (any version since Exchange 2000), you know that it is pretty picky about its domain controllers.
‘Way back when, in Exchange 5.5 and before, Exchange didn’t care about domain controllers. That was because Exchange had its own directory built right in and there was a copy of that directory on every Exchange server.
Starting with Exchange 2000, Exchange uses Active Directory instead. In order to use AD, Exchange has to communicate with a domain controller. And Exchange uses that domain controller for lots of things, some not so obvious.
For example:
Since Exchange was originally designed with an on-board directory, it uses a great deal of directory information. In order to reduce the impact of Exchange queries and updates to Active Directory, Exchange maintains a series of caches to optimize the access to the Active Directory. There are three caches, named:
The DSAccess cache is, by default, only five minutes. The first
Mailbox info cache has a default of two hours. The Mailbox limits cache,
which is fed from the Mailbox info cache, is also two hours. The impact
of this tiered cache is that, under the worst possible conditions, it
can take up to four hours for a change that you make in Active Directory
Users and Computers (Exchange 2000/2003) or the Exchange Management
Console (Exchange 2007) to take effect. By that time, you may have been
so frustrated that you rebooted your server! Of course, after you
rebooted the change was in effect. Now you know better.
J
There are mechanisms for changing these cache values. For Exchange 2000
and 2003, refer to the Microsoft Knowledge Base article KB 327378. For
Exchange 2007, see this TechNet article:
http://technet.microsoft.com/en-us/library/bb684892.aspx.
While most of us probably use Exchange in a single-domain forest,
Exchange is architected to work in large organizations that may have
many domains contained within their Active Directory forest. This means
that Exchange may potentially need to have information about users whose
information is stored in domains other than the one you are stored in.
This is why Exchange generally will use Global Catalog servers in
preference to normal domain controllers. Global catalog servers store
selected information about every object in an Active Directory forest.
The Global catalog is also often referred to as the “partial attribute
set” because the selected information is only a small subset of the
total information available about each object. Include in the
information is all of the information that Exchange requires about each
object.
The primary case when Exchange doesn’t use a global catalog server is
when Exchange is making changes to itself - that is, updating Exchange
configuration information. Exchange configuration information is stored
in a special piece of Active Directory known as the “configuration
naming context”. This part of Active Directory exists upon, and is
replicated to, all domain controllers, not just global catalog servers.
As a final note for today, Exchange examines the Active Directory
environment every 15 minutes. Therefore, if a particular server goes
offline and another comes back online within that time frame, it may
take up to 15 minutes for Exchange to recognize and respond to that
change.
Exchange 2000 and Exchange 2003 mailbox size limits are not enforced in
a reasonable period of time; fix requires Exchange 2000 SP3
http://support.microsoft.com/kb/327378
Mailbox Size Limits Are Not Enforced in a Reasonable Period of Time
http://technet.microsoft.com/en-us/library/bb684892.aspx