Tuesday, 21 April 2015

Understanding the Information Store in Exchange 2013

The information store controls access to mailbox databases (AKA private exchange store) and public folder databases (AKA public exchange store).

You will notice when creating a new database that you are required to restart the Microsoft Exchange Information Store so that it picks up the addition of the new database.

Previous versions of Exchange (e.g. 2007 / 2010) had a single instance of the information store process that managed all databases - meaning that potentially if a single database caused a problem it affect all the other databases. This was why "managed stores" were brought into Exchange 2013 - instead there is a SINGLE store service controller process (in this case, Microsoft.Exchange.Store.Service.exe aka MSExchangeIS), and one worker process (in this case, Microsoft.Exchange.Store.Worker.exe) for each database that is mounted - and when a database is dismounted the dedicated / assosiated worker process also gets killed.

There is also a "store service process controller" (Microsoft.Exchange.Store.Service.exe) that simply manages all of the store worker processes for all of the databases. If this process dies all of the worker processes also die!

The store store worker process is responsible for executing RPC operations on a database.

You can easily identify which store worker belongs to each database simply by issuing:

Get-MailboxDatabase –Status | ft name, workerprocessid

You can then match the PID to a worker process using a tool such as Process Hacker or System Explorer.


Post a Comment