Applies to: Exchange Server 2007
Topic Last Modified: 2007-06-05

This topic explains how to use the Get-StorageGroupCopyStatus cmdlet to return the current replication status information about a cluster continuous replication (CCR) or local continuous replication (LCR) copy of a storage group.

Note:
This cmdlet is not applicable to public folder copies.
Note:
The basic syntax of the cmdlet provides five fields of output. To get a complete list of all the fields that are available, run the cmdlet piped to either fl (formatted list) or ft (formatted table).

Syntax

Get-StorageGroupCopyStatus [-Identity <StorageGroupIdParameter>] [-DomainController <Fqdn>]
Get-StorageGroupCopyStatus -Server <ServerIdParameter> [-DomainController <Fqdn>]

Parameters

Parameter Required or optional Type Description

Server

Required

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

The Server parameter returns information about all storage group copies on the specified server.

DomainController

Optional

Microsoft.Exchange.Data.Fqdn

To specify the fully qualified domain name (FQDN) of the domain controller, include the DomainController parameter in the command.

Identity

Optional

Microsoft.Exchange.Configuration.Tasks.StorageGroupIdParameter

The Identity parameter takes one of the following values:

  • GUID

  • Name of the storage group

  • If no value is specified, you get information for all copies in the organization. For LCR, this means the storage group must have LCR enabled. For CCR, the information is always returned about the target of the replication.

Detailed Description

To see the complete status of a CCR or LCR copy by using the Exchange Management Shell, run the Get-StorageGroupCopyStatus cmdlet. Depending upon the options that you provide, the cmdlet either returns information about a specific copy on a specific server or all copies on a server.

The basic cmdlet syntax is shown in the following example code:

Copy Code
Get-StorageGroupCopyStatus

When you use the basic syntax, the following sample output is provided:

Name SummaryCopyStatus CopyQueueLength ReplayQueueLength LastInspectedLogTime

StorageGroup1

Healthy

0

0

6/14/2006 4:42:01 PM

The cmdlet with a formatted list option is shown in the following example:

Copy Code
Get-StorageGroupCopyStatus |fl

When you use the formatted list option, the complete copy status with all the fields is provided:

  • Identity: MBXNODE01\StorageGroup1

  • StorageGroupName: StorageGroup1

  • SummaryCopyStatus: Healthy

  • Failed: False

  • FailedMessage:

  • Seeding: False

  • Suspend: False

  • SuspendComment:

  • CopyQueueLength: 0

  • ReplayQueueLength: 0

  • LatestAvailableLogTime: 6/14/2006 4:42:01 PM

  • LastCopyNotificationedLogTime: 6/14/2006 4:42:01 PM

  • LastCopiedLogTime: 6/14/2006 4:42:01 PM

  • LastInspectedLogTime: 6/14/2006 4:42:01 PM

  • LastReplayedLogTime: 6/14/2006 4:42:01 PM

  • LastLogGenerated: 4

  • LastLogCopyNotified: 4

  • LastLogCopied: 4

  • LastLogInspected: 4

  • LastLogReplayed: 4

  • LatestFullBackupTime:

  • LatestIncrementalBackupTime:

  • SnapshotBackup:

  • IsValid: True

  • ObjectState: Unchanged

The following table provides the type and describes the fields in the output.

Field name Description Type

Identity

The identity of the storage group.

Microsoft.Exchange.Configuration.Tasks.StorageGroupIdParameter

StorageGroupName

The name of the storage group.

System.String

SummaryCopyStatus

A summary representation of the general status of the copy.

Enumeration with values: Disabled, Failed, Seeding, Copying, Stopped, and Healthy

Failed

Boolean indicating whether the storage group copy is in a condition where it can successfully replicate and replay logs.

System.Boolean

FailedMessage

The condition that triggered setting the failed condition.

System.String

Seeding

Boolean indicating whether a seeding operation is currently in progress.

System.Boolean

Suspend

Boolean indicating whether replication is suspended on the copy.

System.Boolean

SuspendComment

The administrator-provided comment given when the storage group copy replication was suspended.

System.String

CopyQueueLength

The number of logs known by the copy that need to be replicated to the copy.

System.Long

ReplayQueueLength

The number of logs available to be replayed into the copy's database.

System.Long

LatestAvailableLogTime

The time associated with the latest available log generated by the active computer. This log is available to be copied.

System.DateTime

LastCopyNotificationedLogTime

The time associated with the last new log generated by the active storage group and known to the copy.

System.DateTime

LastCopiedLogTime

The modification time of the last log that was successfully copied.

System.DateTime

LastInspectedLogTime

The modification time of the last log that was successfully validated by the node hosting the copy.

System.DateTime

LastReplayedLogTime

The modification time of the last log that was successfully replayed by the node hosting the copy.

System.DateTime

LastLogGenerated

The log generation number of the last log known to be generated on the active node.

System.Long

LastLogCopied

The log generation number of the last log copied to the copy.

System.Long

LastLogNotified

The log generation number of the last log generated by the active node and known to the copy.

System.Long

LastLogInspected

The log generation number of the last log inspected by the copy.

System.Long

LastLogReplayed

The log generation number of the last log replayed by the copy.

System.Long

LatestFullBackupTime

The time of last full backup.

System.DateTime

LatestIncrementalBackupTime

The time of the last incremental backup.

System.DateTime

SnapshotBackup

Boolean indicating whether the last full backup taken was a legacy streaming backup or a Volume Shadow Copy Service (VSS) backup snapshot.

System.Boolean

You can make a quick assessment of the health of a copy by looking at the results in the SummaryCopyStatus, Failed, CopyQueueLength, and ReplayQueueLength, and LastInspectedLogTime fields. These fields show whether the copy is functioning properly and whether the copy is relatively current in both copying and applying logs. If the LastInspectedLogTime is not current, that can indicate that the replication service is stopped or that there is a low rate of traffic on the storage group. If the copy is ever in an unhealthy state, the reason should be determined and corrected. If the copy queue length value is more than 3, the reason should be determined and corrected. If the replay queue length value is more than 20, the reason should be determined and corrected.

To use the Get-StorageGroupCopyStatus cmdlet, 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.

There are some rare scenarios where the replication status can be misleading. Following is a list of those scenarios:

  • A storage group that is not active (that is, not changing) can report as healthy when it might not be healthy. This situation could occur because the unhealthy condition could not be detected until a log is replayed.

  • During replication initialization, the replication status is being re-evaluated and may not be accurate. When the initialization completes, the status is updated.

  • The value of the LastLogGenerated field can be wrong when a database is dismounted. However, all logs with end user content are replicated if the storage group copy is replicating.

  • When there are one or more missing logs in the middle of a log stream, the passive copy continues to try to recover. In doing so, the replication status switches between failed and healthy states. The replay and copy queues will continue to grow.

  • Under some very rare conditions, a log can be successfully verified but it can still fail to replay. In this situation, the system will alternate between failed and healthy states as it attempts to recover. The replay and copy queues will continue grow.

Errors

Error

Description

The specified identity does not exist.

The error occurs because the specified object does not exist, or the object has not been replicated to the referenced domain controller.

Example

The first code example is of the Get-StorageGroupCopyStatus command when the storage group name is not ambiguous.

The second code example describes how to get the copy status SG1 on server MBX.

The third code example describes how to get status on all storage groups for the server MBX.

The fourth code example produces copy information for all copies for the local server. On a passive node, it returns information for all copies of the associated active storage group copy.

Copy Code
Get-StorageGroupCopyStatus -Identity Storage_Group_1 
Get-StorageGroupCopyStatus -Identity:MBX\SG1 
Get-StorageGroupCopyStatus -Server:MBX 
Get-StorageGroupCopyStatus