Friday, November 22, 2013

Exchange 2007 Database Portability

Exchange 2007 Database Portability

Filed under: Exchange,Exchange 2007,PowerShell — Amit Tank @ 2:18 pm 
Database Portability is a new feature of Exchange 2007 and it allows us to mount the exchange database on any of the exchange servers in same organization. Yes, database is portable.
In Exchange 2003 or earlier version it was possible in below conditions only.
  • Server Name should be same.
  • In Recovery storage group.
  • Another server in the same administrative group (This required some additional precautions)
In Exchange 2007 only one restriction is there.
  • Database should be moved to server which is in same Exchange Organization.
Note: Public Folder database cannot move. It can be moved by replicating to another server instead of using portability feature.
As per Microsoft, movement is supported when destination Server has equal or higher version of Windows & service pack level of Exchange 2007.
Permission Required: Exchange Server Admin & Local Server Administrator
Procedure to Move Database
In our example, we move the database from "ATS-Exch701\First Storage Group\Mailbox Database" to New store "ATS-Exch701\Third Storage Group\TMBS" on the same server (since I have only one server in test environment but it should be same while moving to different server)
I have below users in Mailbox Database.
image
  • The first step is to verify DB state and it should show Clean Shutdown.
You can run eseutil /mh <Database Path.EDB> to verify it.
eseutil /mh "C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group\Mailbox Database.edb"
image
  • Create a new mailbox database in the destination server but don’t mount it.
New-MailboxDatabase -StorageGroup <Server_Name>\<StorageGroup_Name> -Name <Database Name>
New-MailboxDatabase -StorageGroup "ATS-Exch701\Third Storage Group" -Name "TMBS"
image
You can create via Exchange Management Console or can verify after creation.
image
  • Set the “This database can be over written by restore” attribute.
Set-MailboxDatabase <Database Name> -AllowFileRestore:$true
Set-MailboxDatabase "TMBS" – AllowFileRestore:$True
image
You can verify in GUI.
image 
  • Move the database files (.edb files, log files, and Exchange Search catalog) to the destination location.
Edit (06/09/2007) : You can copy & paste all files to new destination location and rename the edb file to new destination name.
Destination location can be checked with below command where we need to move our source database.
Get-MailboxDatabase "TMBS" | FL Name, EDBFilePath
image
  • Mount the Database.
Mount-Database <Database Name>
Mount-Database "TMBS"
image
After this point if you try to open mailboxes then you won’t be able to access it because Mailbox location is still pointing to old database path in Active Directory.
image 
  • Now its time to change the configuration of user account settings to point this new server and database.
Get-Mailbox -Database “NAME-OF-SERVER1\DATABASE-NAME” |where {$_.ObjectClass -NotMatch ‘(SystemAttendantMailbox|ExOleDbSystemMailbox)’}| Move-Mailbox -ConfigurationOnly -TargetDatabase “NAME-OF-SERVER2\DATABASE-NAME”
Get-Mailbox -Database “ATS-Exch701\Mailbox Database" |where {$_.ObjectClass -NotMatch ‘(SystemAttendantMailbox|ExOleDbSystemMailbox)’}| Move-Mailbox -ConfigurationOnly -TargetDatabase “ATS-Exch701\TMBS”
image
You can also verify in Console.
image 
After Active Directory replication users will be able to access their Mailboxes.
  • Outlook 2007 clients should be redirected automatically because of the auto discovery service.
  • For Outlook 2003 clients, user needs to manually change the server of mailbox to new name.
  • Outlook Web Access users will be automatically redirected to the new server.
image