none
Migrate mailboxes to new storage groups RRS feed

  • Question

  • 50 SG's are the limit in Exchange 2007 how big can they actually go to in size? We are on Exchange enterprise 2007 ver 8.3 build 83.6 RU 4. Does anyone have any powershell commands to find out total size of current Databases and How many mailboxs with sizes and names so that I can properly break down Storage groups?

    Monday, July 13, 2015 7:20 PM

Answers

  • Your storage groups can become quite large - I assume for recoverability sake, though, that you aren't hosting more than one database in each SG.  Amit's command will show the active data in the mailbox, but you will also need the recoverable data.  For that, you will want the following command:

    Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, TotalItemSize, DeletedItemCount, TotalDeletedItemSize, StorageGroupName, Database


    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })

    Tuesday, July 14, 2015 1:17 PM
  • I'll add a little more information - back when I worked on Exchange 2007, Microsoft recommended a maximum mailbox database size of 200 GB, even though the system supported larger.  If you are adding new storage groups/databases and moving mailboxes from a single database to a single target database, you won't have issues.  It's not going to be much different than the work you'd do if you were migrating from Exchange 2007 to Exchange 2010.  Good luck ...

    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })

    • Marked as answer by Chicojr Wednesday, July 15, 2015 3:31 PM
    Wednesday, July 15, 2015 11:50 AM
  • Yes.  The default for these is in Microsoft.Exchange.Data.Unlimited`1, which displays as the closest available byte level (KB, MB, GB, etc) to the value.  So 5,000,000 would display as "4.76 MB (5,000,000 bytes)". To display in only GB, run the command as follows:

    Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, @{E={ $_.TotalItemSize.ToGB() };L='ActiveInGb'}, DeletedItemCount, @{E={ $_.TotalDeletedItemSize.ToGB() };L='DeletedInGb'}, StorageGroupName, Database


    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })


    • Edited by Will Martin, PFE Friday, July 17, 2015 6:09 PM
    • Marked as answer by Chicojr Wednesday, August 12, 2015 3:35 PM
    Friday, July 17, 2015 4:13 PM

All replies

  • Haven't did this recently but used to this long back on E2007...

    Total size of current databases:

    https://exchangeshare.wordpress.com/2009/07/27/exchange-2007-database-statistics-in-powershell/

    You can use use Get-MailboxStatistics to get the size of mailboxes....

    Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, TotalItemSize, StorageGroupName, Database


    Amit Tank | Exchange - MVP | Blog: exchangeshare.wordpress.com 

    Monday, July 13, 2015 7:51 PM
  • Your storage groups can become quite large - I assume for recoverability sake, though, that you aren't hosting more than one database in each SG.  Amit's command will show the active data in the mailbox, but you will also need the recoverable data.  For that, you will want the following command:

    Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, TotalItemSize, DeletedItemCount, TotalDeletedItemSize, StorageGroupName, Database


    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })

    Tuesday, July 14, 2015 1:17 PM
  • I have 19 storage groups all have mailbox databases associated with each and I have one journal storage group with a journal database. We are moving from old physical storage to new physical storage (netapp to ZFS) and that command worked perfect thank you so much Will!

    So with  Microsoft Exchange ENT Server 2007 SP3 that we have is there a script to that someone can provide that would leverage my ability to move mailboxes or should I stick with EMC and highlighting user and right clicking and going to "Move Mailbox"?

    Also I'm still wondering with  Microsoft Exchange ENT Server 2007 SP3 what are the max sizes that a Storage group can be?

    Tuesday, July 14, 2015 6:02 PM
  • If you are using NetApp, are you using it a an iSCSI target?  Exchange isn't supported on NAS ...

    It's been a really long time since I worked with Exchange 2007, so I'm going by memory - a database can easily be 200GB (I had some that were at my old company), but they may be able to grow to 2TB.  Our Exchange 2010 databases can, but that's a new version.

    How much data do you have in your system?  Are you adding to your storage groups, or are you hoping to consolidate?

    As for moving mailboxes, I've been using the Exchange 2010 mailbox moves for so long, it's hard to remember the Exchange 2007 ones.  I know I scripted them so I could use a CSV for input - but then I was working with 25,000 mailboxes when I last used Exchange 2007.  If you have a smaller number of mailboxes, the GUI should be fine.  If you want a script, there's no reason the following won't work with a CSV, if you are loading a specific target database:

    Import-Csv MailboxList.csv | % { Move-Mailbox $_.Alias -TargetDatabase NewMailboxDatabase1 }

    If you want your mailboxes to be spread across several databases, and you have the database name included with each mailbox alias in your CSV, the following should work:

    Import-Csv MailboxList.csv | % { Move-Mailbox $_.Alias -TargetDatabase $_.MailboxDatabase }

    HTH ...


    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })

    Tuesday, July 14, 2015 6:35 PM
  • iscsi = yes

    Adding all new storage groups

    Sticking with exchange 2007 just migrating mailboxes to new storage groups

    Kindly notes and thank you Will!

    Tuesday, July 14, 2015 8:59 PM
  • I'll add a little more information - back when I worked on Exchange 2007, Microsoft recommended a maximum mailbox database size of 200 GB, even though the system supported larger.  If you are adding new storage groups/databases and moving mailboxes from a single database to a single target database, you won't have issues.  It's not going to be much different than the work you'd do if you were migrating from Exchange 2007 to Exchange 2010.  Good luck ...

    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })

    • Marked as answer by Chicojr Wednesday, July 15, 2015 3:31 PM
    Wednesday, July 15, 2015 11:50 AM
  • Will,

    Any chance to change Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, TotalItemSize, DeletedItemCount, TotalDeletedItemSize, StorageGroupName, Database

    to show in GB instead of the defaults?

    thank you

    Thursday, July 16, 2015 9:58 PM
  • Yes.  The default for these is in Microsoft.Exchange.Data.Unlimited`1, which displays as the closest available byte level (KB, MB, GB, etc) to the value.  So 5,000,000 would display as "4.76 MB (5,000,000 bytes)". To display in only GB, run the command as follows:

    Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | select DisplayName, Itemcount, @{E={ $_.TotalItemSize.ToGB() };L='ActiveInGb'}, DeletedItemCount, @{E={ $_.TotalDeletedItemSize.ToGB() };L='DeletedInGb'}, StorageGroupName, Database


    Will Martin ...
    -join ('77696c6c406d617274696e2d66616d696c6965732e6f7267' -split '(?<=\G.{2})' | ? { $_ } | % { [char][int]"0x$_" })


    • Edited by Will Martin, PFE Friday, July 17, 2015 6:09 PM
    • Marked as answer by Chicojr Wednesday, August 12, 2015 3:35 PM
    Friday, July 17, 2015 4:13 PM