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:
|
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 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 |