Microsoft created Exchange 5.5 with two main databases, the private information store and the public information store. The design worked well at the time, but problems eventually developed with scalability.
For example, if you've got a 13 GB private information store, it will take quite a while to back up or restore. Furthermore, using a single database for the private information store opens the door to concerns about business operations. If all of your users' mailboxes are in the same database and that database becomes corrupt, then none of your users can access their mailboxes.
The single message store limitation also had implications for ISPs and for companies who lease out a portion of their Exchange servers. Although storing the mailboxes for multiple companies within a common information store is possible, you need to exercise extreme caution not to accidentally allow a security breach related to permissions overlapping into another company's space.
In Exchange 2000 and Exchange 2003 Microsoft has avoided this problem by allowing multiple information stores.
Creating storage groups
Before I explain how to create additional message stores, you need to know about an architectural element that did not exist in Exchange Server 5.5 called storage groups. A storage group is designed to hold the actual database stores. Exchange 2000 and Exchange 2003 both let you have up to four different storage groups. Each of those storage groups can then contain up to five different databases, giving you a total of 20 potential databases per server.
Why you are allowed to create multiple storage groups if all they do is act as a container for the databases? The reason is that the storage groups do more than store databases. There are certain aspects of database maintenance that are performed at the storage group level rather than at the store level. Specifically, if you want to enable or disable circular logging, zero out deleted database pages or change the transaction log location or system path location, it must be done at the storage group level. The settings that you make then apply to every database within the storage group.
Because the system path and the transaction log path are both set at the storage group level, you can't just create a new store and start moving mailboxes to it should you run low on disk space. Doing so wouldn't save you any space at all because the two stores are in the same location along with the transaction logs. If you were running low on disk space you would need to create a separate storage group that's directed to a separate volume. Only then could you create a new store and start moving mailboxes to it and accomplish your goal of freeing some disk space.
To create a new storage group, open the Exchange System Manager and navigate to Administrative Groups | your administrative group | Servers | your server. Right click on the listing for your server and then select the New | Storage Group commands from the resulting shortcut menu. When you do, you will see a dialog box prompting you to enter a name for the new storage group, the system path and transaction log path. Microsoft recommends that you place the system path and the transaction log path both onto a fault tolerant RAID array, but on separate volumes. Click OK when you're done and the storage group will be created.
Next step: create a mailbox store
Next, you need to create a mailbox store within the new storage group. To do so, right click on the new storage group and select the New | Mailbox Store commands from the shortcut menu. You will see the new store's properties sheet. You will have to give the store a name. You also have the option of setting any other option that would normally be associated with a store, such as the store's policy. When you're done, click OK to create the store. When you click OK, Windows will ask you if you'd like to mount the store. Click Yes and the store will be mounted.
Now that you have created and mounted a new store, let's look at how to move a mailbox into it. Go to your original storage group and select the Mailboxes container. The System Manager will now display a list of the mailboxes that are contained within the store. Select the mailbox or mailboxes that you want to move, right click on them and select Exchange Tasks from the resulting shortcut menu.
After a brief delay, Windows will launch the Exchange Tasks Wizard. Click Next to bypass the wizard's Welcome screen. You will be asked which task you want to perform. Select Move Mailbox and click Next. You are now given the chance to select a server and a storage group / store. Make your selection and click Next.
The following screen will ask you what you want to do about any mailboxes that might be corrupt. Select the Create a Failure Report option and click Next. The wizard will prompt you for a start date and time and for a time when the operation should be terminated if it is not complete. Make your selections and click Next. Exchange will now move the selected mailboxes. When the process completes, click Finish to close the wizard.
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server and IIS. Brien has served as the CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. As a freelance technical writer he has written for Microsoft, CNET, ZDNet, TechTarget, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal Web site at http://www.brienposey.com.
Do you have a useful Exchange tip to share? Submit it to our monthly tip contest and you could win a prize and a spot in our Hall of Fame.