The Mailbox Server Role Requirements Calculator…now with Database Copy Distribution!

Published May 18 2011 06:00 AM 33.1K Views

In September I released our guidance on how to lay out database copies to ensure symmetrical distribution of the active copies in the event of a failure. This guidance was further expanded and released as a TechNet article in November. Feedback from the community was very clear – you guys wanted a tool to help you lay out your database copies correctly.

Well I am pleased to say that with this release of the calculator, we have delivered. Over the last several months, two gentlemen from MCS, David Mosier and Neil Johnson, worked tirelessly to bring this functionality to reality.

On the Input worksheet, within the Database Configuration table, you can now have a new option, “Calculate Number of Unique Databases / DAG for Symmetrical Distribution”. When this option is enabled, the calculator will use the permutation formula discussed in our guidance to deploy the correct number of databases based on the number of copies and server architecture such that you can potentially achieve a symmetrical distribution after a failure event.


The calculator includes a new worksheet, Distribution. Within the Distribution worksheet, you will find the layout we recommend based on the database copy layout principles.


The Distribution worksheet includes several new options to help you with designing and deploying your database copies:

  • You can determine what the active copy distribution will be like as server failures occur within your environment.


  • You can export a set of CSV and PowerShell scripts that perform the following actions:
    • Diskpart.ps1 (uses Servers.csv) - Formats the physical disks, and mounts them as mount points under an anchor directory on each server.
    • CreateMBDatabases.ps1 (uses MailboxDatabases.csv) - Creates the mailbox database copies with activation preference value of 1.
    • CreateMBDatabaseCopies.ps1 (uses MailboxDatabaseCopies.csv) - Creates the mailbox database copies with the appropriate activation preference values across the server infrastructure.  

Important: The database copy layout the tool provides assumes that each server and its associated database copies are isolated from each other server/copies.  It is important to take into account failure domain aspects when planning your database copy layout architecture so that you can avoid having multiple copy failures for the same database.

Hopefully you will find these changes worthwhile in your deployment of Exchange 2010.  Now, go tryout the new version of the calculator and let us know what you think.  Alternatively, you can check out what else has changed by reviewing the Updates Tracking page. The main article has also been updated.

Ross Smith IV, David Mosier, Neil Johnson

Not applicable

New version links takes you to the April Fools spoof version

Not applicable

Absolutely fantastic!  Thank you from a customer as we are moving torwards deploying Exchange 2010 and this will help greatly.

Not applicable

Great work guys, this is a great extension to what is already such a necessary tool.

Not applicable

Amazing stuff

thats was the only thing i was missing, looked all over the place for something like this.

especially where im switching between diffrent configurations and thinking whats the best one.

Thanks amillion

Not applicable

Get your math degrees out boys and girls!  This stuff gets fun in a hurry.  Nice job on the TechEd presentation Ross!  Definitely made me do some math I haven't dealt with for a while!

Not applicable


i have an "Invalid procedure call or argument" error in Distribution tab with Excel 2010 (14.0.5130.5003)

it stops at the following line:

   Cells(HeaderRow - 1, StartCol - 1).FormatConditions.Add Type:=xlExpression, Formula1:="=IF(SUM(" & DiagramStart(1) & StartRow - 2 & ":" & DiagramEnd(NumSites) & StartRow - 2 & ")<" & NumDataBases & ",1,0)"



Not applicable

Hi again,

the problem is related to regional settings.

I have an english version of Excel but my regional settings are set to French.

i had to replace comas by semicolons in IF formula in the following vba line:

Cells(HeaderRow - 1, StartCol - 1).FormatConditions.Add Type:=xlExpression, Formula1:="=IF(SUM(" & DiagramStart(1) & StartRow - 2 & ":" & DiagramEnd(NumSites) & StartRow - 2 & ")<" & NumDataBases & ",1,0)"



Not applicable

Nice !! Thank you very much.

Not applicable

Hi Stef,

could you explain your solution please a little bit deeper? Didn't work for me (EN Excel wiht german regional settings)



Not applicable

Good job Ross & Team; apparantly someone took a dusty Operations Research book from their library :)

Not applicable

Hey folks, yes there is a problem with the new code in that it does not currently work if the OS language is anything other than English.  We are looking at how we can resolve this and will release a new version when we are confident it is resolved.  For now, you can switch your OS regional language to English and use the calculator.


Not applicable


Can you update your spreadsheet to include a 900GB 10k SAS drive?  HP sells that size now.

HP 900GB 6G SAS 10K rpm SFF (2.5-inch) Enterprise 3yr Warranty Hard Drive 619291-B21

Not applicable

@Aaron A - we'll add 900GB as a disk capacity in the next release.

Version history
Last update:
‎Jul 01 2019 03:59 PM
Updated by: