none
Exchange DB queries RRS feed

  • Question

  • Hi,

    We have Exchange 2010 and preparing to upgrade 2016 on-prem and serving around 2000 users. There are 12 DB configured in Exchange for different dept. There are very frequent that user transfer from 1 dept to another dept. Statistic of each DB needs to be reported for the storage usage. Very often that Exchange Admin missed to change the user info after user has transferred to another dept to reflect in the correct DB.

    1) Is there a way to solve the problem that to reflect the user info after they have transferred?

    2) Is it good not to separate the DB but to form a single DB?

    Thanks in advance with any pointer is appreciated




    MS Exchange forum

    Monday, November 18, 2019 6:06 AM

Answers

  • Hi starfish168,

    What about referring to the steps in the following link:

    Move mailboxes (in bulk) or one by one to another database in Exchange 2010/2013/2016

    Get-Mailbox -Database Mailboxdb02 | New-MoveRequest - TargetDatabase Mailboxdb01 -BatchName "Mailboxdb02to01"
    Or now there are cases server memory is not enough (or low bandwidth between servers) to move multiple move request at a time. You can use the below script/command. This will create a move request and monitor the move request every 3 minutes, Once complete it will start the next move request.

    foreach ($i in (Get-Mailbox -ResultSize unlimited)) { New-MoveRequest -identity $i -TargetDatabase "TargetDatabaseName" -baditemlimit 50 -acceptlargedataloss ;while ((Get-Moverequest -Identity $i | ? {$_.Status -eq “Queued” -or $_.Status -eq “InProgress” -or $_.Status -eq “WaitingForJobPickup”})) { sleep 180 } }

    Regards,

    Joyce Shen


    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact tnsf@microsoft.com.

    • Marked as answer by starfish168 Wednesday, November 27, 2019 3:01 AM
    Friday, November 22, 2019 9:37 AM

All replies

  • The only scenario where it could theoretically matter is if one service needs to migrate to a different versions of the database. But even then, there's no real difference between having separate instances from the start versus migrating that one service from a shared instance to a separate one. I'd actually say that having separate instances only because of this scenario is an example of YAGNI
    Monday, November 18, 2019 6:22 AM
  • Remember that exchange databases keep white spaces in them. Which means that if you move one mailbox from one database to another, data is not deleted from the earlier database until and unless you run a defrag on them.Similarly in your scenario if an employee is shifted to 2 or more depts in a span of one year and you keep moving the mailbox across databases, you will just keep increasing the size of your databases increasing your overhead in the end.

    You can definitely have multiple databases to manage your users but you should divide the users randomly without separating depts specially if you frequently move employees across depts.

    I would suggest to alter only the organization or dept description of the mailbox when you have such internal move without moving the mailbox across databases.


    Basheer Syed

    • Proposed as answer by Proed Monday, November 18, 2019 6:43 AM
    Monday, November 18, 2019 6:37 AM
    • RE determining mailboxes within each DB, check out this post https://social.technet.microsoft.com/Forums/windows/en-US/c22d8c80-4f89-4c0d-af0e-48810efbad71/list-all-the-mailbox-in-a-database?forum=exchange2010
    • RE how to store mailboxes, I would not put everyone in a single DB since that would take down all users should something happen to that DB.  Regarding how to split up users Mailboxes into the various DB's that's really a org/biz related issue.  Right now your storing them by department which is fine if that fits your needs.  That said you could also break them up by name, geographic region (If that comes into play), rank i.e. executives, management, etc. As I said it really depends on your firms goals and I would discuss this within your orgs management, OR if you have been there for some time you probably already have enough info to make the best decision based upon your work history with the various groups

    Search, Recover, Export Mailboxes, Contacts, Calendars, Tasks from ALL versions of Exchange Offline EDB's, On-Premises Exchange Databases & Office 365. Export, Migrate/Recover into On-Premises Exchange Server, Office 365 with Lucid8's DigiScope

    Monday, November 18, 2019 1:15 PM
  • Hi,

    We experienced when a user transferred to another dept and moving this user to another DB in exchange needs around 0.5 hours. The time taken has prompted us to consider to consolidate into a single DB.

    Not sure anyone has the same experience?

    Is there any available powershell script to perform the moving of user from 1 database to another database by retrieving the record from a text file or excel file?


    MS Exchange forum



    • Edited by starfish168 Thursday, November 21, 2019 12:37 AM
    Tuesday, November 19, 2019 11:56 PM
  • Hi starfish168,

    What about referring to the steps in the following link:

    Move mailboxes (in bulk) or one by one to another database in Exchange 2010/2013/2016

    Get-Mailbox -Database Mailboxdb02 | New-MoveRequest - TargetDatabase Mailboxdb01 -BatchName "Mailboxdb02to01"
    Or now there are cases server memory is not enough (or low bandwidth between servers) to move multiple move request at a time. You can use the below script/command. This will create a move request and monitor the move request every 3 minutes, Once complete it will start the next move request.

    foreach ($i in (Get-Mailbox -ResultSize unlimited)) { New-MoveRequest -identity $i -TargetDatabase "TargetDatabaseName" -baditemlimit 50 -acceptlargedataloss ;while ((Get-Moverequest -Identity $i | ? {$_.Status -eq “Queued” -or $_.Status -eq “InProgress” -or $_.Status -eq “WaitingForJobPickup”})) { sleep 180 } }

    Regards,

    Joyce Shen


    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact tnsf@microsoft.com.

    • Marked as answer by starfish168 Wednesday, November 27, 2019 3:01 AM
    Friday, November 22, 2019 9:37 AM
  • Hi,

    We have Exchange 2010 and preparing to upgrade 2016 on-prem and serving around 2000 users. There are 12 DB configured in Exchange for different dept. There are very frequent that user transfer from 1 dept to another dept. Statistic of each DB needs to be reported for the storage usage. Very often that Exchange Admin missed to change the user info after user has transferred to another dept to reflect in the correct DB.

    1) Is there a way to solve the problem that to reflect the user info after they have transferred?

    2) Is it good not to separate the DB but to form a single DB?

    Thanks in advance with any pointer is appreciated




    MS Exchange forum

    Multiple DBs are good. Putting all the mailboxes from the same dept in the same DB is a bad idea. If that database is unavailable for any reason, the entire dept is down.

    Do yourself a favor, spread the mailboxes our randomly to a number of databases and not worry about what dept is where. It will remove that admin headache  :) 

    Friday, November 22, 2019 12:36 PM
    Moderator
  • Hi,

    Do suggestions above help? If you have any questions or needed further help on this issue, please feel free to post back. If the issue has been resolved, please mark the helpful replies as answers, this will make answer searching in the forum easier and be beneficial to other community members as well.

    Regards,

    Joyce Shen


    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact tnsf@microsoft.com.

    Tuesday, November 26, 2019 9:17 AM