Recently on a mailing list I’m a member of, the following question was asked:
"What is the best practice or guideline when you create/organize databases in your organization? How do you add/organize users into different databases?"
This topic comes up regularly with customers, and it occurred to me that it might be worth putting my thoughts here as well as to the mailing list.
I usually recommend, if most mailbox limits are going to be the same, going for a balanced/random distribution based on the mailbox profile and planned users per DB rather than another factor. And, if you have an entire department on one database, or senior staff – yes you can bring them online “first” in the event of a total loss of all database copies, but the opposite case is also true – you could end up in a situation with just your sales force or senior staff without email. If they are spread out, then at least you don’t lose them all and a part of the organization isn’t totally crippled. Also when it comes to sizing you are unlikely to have departments of identical size so you could end up with complicated sizing for LUNs that are hard to manage.
Of course not everyone wants a random distribution. Thinking of some recent customers, I can give a couple of examples where that isn’t the case..
- Customer 1 – Has convention already in place, distributing by surname. Same mailbox limits for everyone in the organization, so analysed the surnames of the users who’ll move onto these databases to determine the split of surnames per DB to tie up with the planned users per DB.
- Customer 2 – Has different mailbox limits for different types of users, so mailbox database and log LUNs are sized to match these limits and user numbers, with balanced distribution across mailbox databases within each “tier”.
However looking at larger environments (100,000+) and going through some of the Exchange Environment Reports people have emailed in, there is a general tendency towards a combination of location (e.g. large, distributed environments) and then spreading the mailboxes across DBs rather than dedicating DBs to department/roles.
I’ve long been a fan of this way of distributing users – and to assist with keeping things distributed evenly, you can download my database balancing script here.
So, what are your thoughts on mailbox distribution? Let me know in the comments…