News Stay informed about the latest enterprise technology news and product updates.

Best practices for managing messaging data

Looking for the best way to manage your burgeoning Exchange databases and files, troubleshoot your temperamental information store or deal with a ballooning priv.edb? Scott Schnoll answers members toughest Exchange data storage questions in this Ask-the-Expert Q&A.

Scott Schnoll

Looking for the best way to manage your burgeoning Exchange databases and files, troubleshoot your temperamental information store or deal with a ballooning priv.edb? Scott Schnoll answers members toughest Exchange data storage questions in this Ask-the-Expert Q&A. member: I'm looking for best practices in managing Exchange user mail storage. Can you suggest an optimal "standard" storage limit, balancing financial responsibility and user convenience? What passes for "typical" in large companies?

Scott Schnoll: As you might expect, these figures are somewhat subjective and a little hard to determine. However, I can give you one good example that might help.

Microsoft is a large company -- they have about 50,000 users. The average Microsoft employee receives about 200 e-mail messages and sends about 50 e-mail messages each day. Unfortunately, these figures don't take into account attachments or attachment sizes, but at least it gives you a pretty good feel for how many messages you might expect in a large company with active e-mail users.

In terms of financial responsibility, or for that matter legal responsibility, I recommend working with both a risk assessor and a legal advisor. For example, your storage issues may be moot if your legal advisor instructs you to keep e-mail for very short periods of time. member: I am running Exchange 2000 SP2 that is backed up using a Veritas agent. My information store goes from a memory level of about 50 MB usage during the day to 450-600 MB level during the night. The backup runs during this time, but Microsoft and Veritas don't know of a problem. I have pulled both Inoculate and BackUp off the server (separately) and the build-up still occurs. Do you have any suggestions? Why would the information store acquire that much memory usage and hold it until I restart the service? Performance of the network drops when this happens -- to say the least.

Scott Schnoll: I love this question! No matter how many times this is asked and answered, it keeps cropping up. This may very well be *the* most frequently asked question about Exchange. But I digress….

Network Monitor can help you diagnose why the network performance is suffing. As to why the information store -- or more accurately, the store.exe process -- consumes large amounts of memory, the answer is simple: it's by design!

Starting with Exchange 5.5, the Extensible Storage Engine has a feature called Dynamic Buffer Allocation (DBA), which uses an algorithm to dynamically control how much memory the store.exe process allocates to itself. Store.exe will continue allocating chunks of memory to itself, provided that no other process needs it. And that last part is key. The underlying principle behind this feature is that memory is in the server to be used. If nothing else needs it, Exchange takes it all. If something else needs it, Exchange releases it immediately and the requesting process continues on its happy way.

This feature is documented in a number of places, including: KB article Q271987 (yes, I know this is a 5.5 article) and this TechNet guide (this one is for Exchange 2000).

In Exchange 5.5, you could control this behavior using the Exchange Performance Optimizer. That utility has no Exchange 2000 counterpart, and as far as I know, there's no way to do this in Exchange 2000. But there again is a reason for that. In the words of Paul Bowden, Program Manager in the Exchange Business Unit for Microsoft, it's because "you don't want to!" member: We have Exchange 5.5 on NT4 SP6a. The size of the information store (IS) on the server is 39 GB. Is there any way to split the IS to a different server (i.e., a new IS on a different server) without affecting the configuration? Will the performance not be as good as on a local drive? How about splitting the existing IS into two separate ISes on different servers?

Scott Schnoll: You can't do this with Exchange 5.5, but you can carve things up much nicer in Exchange 2000. Exchange 2000 uses a concept of storage groups that enable you to house as many as 20 databases on a single system. You can also use Storage Area Network (SAN) technology with it, as well. You didn't say why you want to split it up, but if it is due to space limitations or performance, you can move all of Exchange to another system. MS KB article 297289 includes details on how to do this. member: Using the standard edition of Exchange 2000, if you split mailboxes into different groups, how does this affect the 16 GB information store limit? Does the limit include all mailboxes, or will each group have its own 16 GB limit?

Scott Schnoll: Exchange 2000 Standard Edition does not support multiple storage groups or multiple mail stores/public folder stores. You can only create one storage group, one mailbox store and one public folder store per server. In this case, each individual database is limited in size to 16 GB (e.g., 16 GB mail store and 16 GB public folder store).

If you upgrade to the Enterprise Edition, you can then create additional stores and storage groups, and none of them have a size limit. member: I have an Exchange Server 5.5 without any service packs on NT 4.0 SP5. We've been running this for the past three years with no problems. But for the past few months, I've noticed the size of priv.edb is dramatically increasing. We have around 65 mailboxes on this server and have found that the size of priv.edb has increased to more than 6 GB. We have another Exchange Server 5.5 SP4 on NT 4.0 SP6 with 104 mailboxes that has a priv.edb of 1.5 GB, which is quite reasonable. How can I fix the problem on the first Exchange server, so that the priv.edb comes to a normal size? This is a serious problem for me, as the disk capacity is approaching its maximum.

Scott Schnoll: Reasonable is relative. :) I've seen servers with 10 people that have 3 GB databases and servers with 500 people that had 1GB databases. What you want to do is use the Exchange Administrator application to locate the largest mailboxes on that server. This will show you where the data is, and then you can open the mailbox (or work with the mailbox's user) and see what is taking up so much space. To do this:

  1. Launch Exchange Administrator.
  2. Expand Configuration, then Servers.
  3. Then, expand the large server, then expand Private Information Store.
  4. Select Mailbox Resources.
  5. In the right-hand side will be two columns -- one with Total K (for KB), another for Total Items. You can also click on View | Columns in the menu to have a couple more size-related columns appear.

Once you find the large mailbox(es), you will find the messages; once you've found those, you'll know why this store has grown so much. Then, if you need to, you can delete items, take the store offline and perform an offline defragmentation to compress the database and reclaim disk space.

Do you have a question you would like to ask Scott? Submit it to our Exchange Ask the Experts category!


Dig Deeper on Exchange Server setup and troubleshooting

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.