How to Restore Production Database Access After a Single Database Failure

Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.

 

Applies to: Exchange Server 2007, Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3

This topic explains how to recover from corruption in the active database or storage group of a server that is configured for cluster continuous replication (CCR).

Before You Begin

To perform this procedure, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

For more information about permissions, delegating roles, and the rights that are required to administer Microsoft Exchange Server 2007, see Permission Considerations.

Procedure

To recover from data corruption in a server that is configured for CCR

  1. Identify the passive node of the clustered mailbox server by running the following command:

    Get-ClusteredMailboxServerStatus -Identity:<Name>
    
  2. Verify that the corruption is not the result of an offline log drive, offline database drive, or a volume configuration error.

    Important

    If the log volume on the active node is not available at the time of the failover, more data may be lost than necessary.

  3. Move the clustered mailbox server from the active node to the passive node using the Move-ClusteredMailboxServer cmdlet as follows:

    Move-ClusteredMailboxServer -Identity:<Name> -targetmachine:<TargetName> -movecomment:<Comment>
    

    Note

    For more information about the Move-ClusteredMailboxServer cmdlet, see Move-ClusteredMailboxServer.

    Important

    If you determine that the logs are not available, you should insert the -ignoredismounted argument as shown in the following sample code:

    Move-ClusteredMailboxServer -Identity:<Name> -targetmachine:<TargetName> -ignoredismounted -movecomment:<Comment>
    

    Note

    If a failure occurs late in the move processing, the transition of ownership of the clustered mailbox server occurs, but any affected databases are left offline.

  4. After the move operation is complete, make sure that all volumes have mounted. If one or more databases did not mount, you must determine the status of the local copy using the Get-StorageGroupCopyStatus cmdlet. You must determine if the source is exposing all available log files prior to running Restore-StorageGroupCopy or whether you are satisfied with the state of the copy.

  5. If logs were not available to make the process lossless for all storage groups, the Restore-StorageGroupCopy cmdlet must be run as shown:

    Restore-StorageGroupCopy -Identity:"mbx01\SG1"
    

    Note

    When the Restore-StorageGroupCopy cmdlet is run, it displays the state of the storage group copy and presents a prompt to complete the restore option. If you want to complete the restore operation, enter Yes.

    Important

    If you choose not to complete the restore operation when prompted, you can run the command again at a later time.

    Note

    For more information about the Restore-StorageGroupCopy cmdlet, see Restore-StorageGroupCopy.

  6. The database can now be mounted. To mount the database, you can use either the Exchange Management Shell or the Exchange Management Console as detailed in How to Mount a Database in a CCR Environment.

  7. If you selected Yes to complete the restore operation, after the restore is complete, you must manually mount the database in the storage group as described in the topic How to Mount a Database in a CCR Environment. In the absence of further failures, these steps will activate the copy on the passive node.

    Important

    After the copy is activated, the corrupted copy must be restored to a condition where it can be a replication target. This task may involve repairing the hardware problem that caused the corruption or failure.

For More Information

For more information about bringing databases online, see How to Mount a Database in a CCR Environment.

For more information about the Get-ClusteredMailboxServerStatus cmdlet, see Get-ClusteredMailboxServerStatus.