Share via


Update a Mailbox Database Copy

 

Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2

Updating, also known as seeding, is the process in which a copy of a mailbox database is added to another Mailbox server. This becomes the baseline database for the copy. Seeding is required under the following conditions:

  • When a new passive copy of a database is created. Seeding can be postponed for a new mailbox database copy, but eventually, each passive database copy must be seeded in order to function as a redundant database copy.

  • After a failover occurs in which data is lost as a result of the passive database copy having become diverged and unrecoverable.

  • When the system has detected a corrupted log file that cannot be replayed into the passive copy of the database.

  • After an offline defragmentation of any copy of the database occurs.

  • After the log generation sequence for the database has been reset back to 1.

You can perform seeding by using the following methods:

  • Automatic seeding   An automatic seed produces a copy of the active database on the target mailbox server. Automatic seeding only occurs during the creation of a new database.

  • Seeding using the Update-MailboxDatabaseCopy cmdlet   You can use the Update-MailboxDatabaseCopy cmdlet in the Exchange Management Shell to seed a database copy at any time.

  • Seeding using the Update Database Copy wizard   You can use the Update Database Copy wizard in the Exchange Management Console (EMC) to seed a database copy at any time.

  • Manually copying the offline database   You can dismount the active copy of the database and copy the database file to the same location on another mailbox server in the same database availability group. If you use this method, there will be an interruption in service because the procedure requires you to dismount the database.

Updating a database copy can take a very long time, especially if the database being copied is very large, or if there is high network latency or low network bandwidth. Once the seeding process has started, don't close the EMC or the Shell until the process has completed. If you do, the seeding operation will be terminated.

A database copy can be seeded using either the active copy or an up-to-date passive copy as the source for the seed. When seeding from a passive copy, be aware that the seed operation will terminate with a network communication error under the following circumstances:

  • If the status of the seeding source copy changes to Failed or FailedAndSuspended.

  • If the database fails over to another copy.

Multiple database copies can be seeded simultaneously. However, when seeding multiple copies simultaneously, you must seed only the database file, and omit the content index catalog. You can do this by using the DatabaseOnly parameter with the Update-MailboxDatabaseCopy cmdlet.

Note

If you do not use the DatabaseOnly parameter when seeding multiple targets from the same source, the task will fail with SeedInProgressException error FE1C6491.

Looking for other management tasks related to mailbox database copies? Check out Managing Mailbox Database Copies.

Prerequisites

  • The mailbox database copy must be suspended. For detailed steps, see Suspend or Resume a Mailbox Database Copy.

  • The Remote Registry service must be running on the server hosting the passive database copy you're updating.

What Do You Want to Do?

  • Use the EMC to update a mailbox database copy

  • Use the Shell to update a mailbox database copy

  • Manually copy an offline database

Use the EMC to update a mailbox database copy

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the"Mailbox database copies" entry in the High Availability Permissions topic.

  1. In the console tree, navigate to Organization Configuration > Mailbox.

  2. In the result pane, click the Database Management tab.

  3. In the work pane, on the Database Copies tab, right-click the database copy you want to update, and then select Update Database Copy.

  4. On the Update Database Copy page, configure the available options for updating a database copy:

    • By default, the active copy of the database is used as the source database for seeding. If you prefer to use a passive copy of the database for seeding, check the Select a source server for seeding checkbox, and then click Browse to select the server containing the passive copy you want to use for the source.

    • Configure the task's behavior if files exist in the path of the database copy being seeded. If any existing files are in the database path, you can either select Delete them and continue to update process to remove all existing files and proceed with the seeding operation, or you can select Cancel the update process to terminate the task.

    • By default, once seeding has completed, continuous replication will automatically resume for the database. If you don't want replication to automatically resume, select Leave the database copy suspended. I will manually resume replication later.

    • Optionally specify a DAG network to be used for seeding. Click Browse to select the DAG network you want to use.

  5. Once you have configured the available options, click Update to update the database copy.

  6. On the Completion page, the Summary states whether the operation was successful. The summary also displays the Shell command that was used to perform this procedure.

  7. Click Finish to exit the wizard.

Use the Shell to update a mailbox database copy

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the"Mailbox database copies" entry in the High Availability Permissions topic.

This example shows how to seed a copy of a database named DB1 on MBX1.

Update-MailboxDatabaseCopy -Identity DB1\MBX1

This example shows how to seed a copy of a database named DB1 on MBX1 using MBX2 as the source Mailbox server for the seed.

Update-MailboxDatabaseCopy -Identity DB1\MBX1 -SourceServer MBX2

This example shows how to seed a copy of a database named DB1 on MBX1 without seeding the content index catalog.

Update-MailboxDatabaseCopy -Identity DB1\MBX1 -DatabaseOnly 

This example shows how to seed the content index catalog for the copy of a database named DB1 on MBX1 without seeding the database file.

Update-MailboxDatabaseCopy -Identity DB1\MBX1 -CatalogOnly

Manually copy an offline database

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the"Mailbox database copies" entry in the High Availability Permissions topic.

  1. If circular logging is enabled for the database, it must be disabled before proceeding. You can disable circular logging for a mailbox database by using the Set-MailboxDatabase cmdlet, as shown in this example.

    Set-MailboxDatabase DB1 -CircularLoggingEnabled $false
    
  2. Dismount the database. You can use the Dismount-Database cmdlet, as shown in this example.

    Dismount-Database DB1 -Confirm $false
    
  3. Manually copy the database files (the database file and all log files) to a second location, such as an external disk drive or a network share.

  4. Mount the database. You can use the Mount-Database cmdlet, as shown in this example.

    Mount-Database DB1
    
  5. On the server that will host the copy, copy the database files from the external drive or network share to the same path as the active database copy. For example, if the active copy database path is D:\DB1\DB1.edb and log file path is D:\DB1, then you would copy the database files to D:\DB1 on the server that will host the copy.

  6. Add the mailbox database copy by using the Add-MailboxDatabaseCopy cmdlet with the SeedingPostponed parameter, as shown in this example.

    Add-MailboxDatabaseCopy -Identity DB1 -MailboxServer MBX3 -SeedingPostponed
    
  7. If circular logging is enabled for the database, enable it again by using the Set-MailboxDatabase cmdlet, as shown in this example.

    Set-MailboxDatabase DB1 -CircularLoggingEnabled $true
    

 © 2010 Microsoft Corporation. All rights reserved.