Monday, April 16, 2007

DSAccess Component in Exchange

Prior to Exchagne 2000, Exchange had its own "directory service". When Exchange switched to storing Exchange data in Active Directory Microsoft needed a way for Exchange to communicate with Active Directory. From this need DSAccess was created to regulate traffic between Exchange 2000/2003 and Active Directory.

DSAccess is an API that is used by Exchange to query Active Directory. It is used when Exchange needs to obtain information on recipients and configuration. The following Exchange services are just some of the components that depends on DSAccess
- Exchange System Attendant
- Exchange Message Transfer Agent
- Exchange information store

The DSAccess cache contains two distinct caches.

1. The configuration cache
The configuration cache is used to store configuration data such as information on the store(s) and routing and is 5MB is size. When the Exchange server starts up DSAccess discovers the Active Directory topology, a list of domain controllers and global catalog servers. This is repeated every 15 minutes looking for configuration changes. Every time an Exchange server requires DC or GC access, the configuration cache is viewed to find an available DC or GC.

2. The user objects cache.
The other cache, the user object cache, is used to store user data. When an Exchange server needs to locate information on a user, DSAccess will look in this cache first, before performing an LDAP query. User objects in the cache expire based on two criteria, either the TTL expires, or the cache is filled and needs to cache newer information. The default size of the cache is 140MB.

DSAccess is composed of a group of DLLs.
- DSAccess.dll
- Dscmgs.dll
- Dscperf.dll
Google Groups
Subscribe to IT_Discussions
Visit this group