Restore-StorageGroupCopy

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

上一次修改主题: 2007-09-12

在群集连续复制 (CCR)、本地连续复制 (LCR) 或备用连续复制 (SCR) 环境中,存储组副本激活过程中需要使用 Restore-StorageGroupCopy cmdlet。管理员在执行 Mount-Database 操作之前,必须使用 Restore-StorageGroupCopy cmdlet。

语法

Restore-StorageGroupCopy -Identity <StorageGroupIdParameter> [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-Force <SwitchParameter>] [-ReplaceLocations <SwitchParameter>] [-StandbyMachine <String>] [-WhatIf [<SwitchParameter>]]

详细说明

在从数据库主动副本故障或损坏恢复的过程中,要使 Microsoft Exchange Server 2007 管理员能够装入数据库的被动副本或 SCR 目标数据库,需要使用 Restore-StorageGroupCopy cmdlet。在 LCR 配置中,管理员应该通过文件系统或卷操作重新定位数据,例如使用和更改卷装入点。建议使用这种方法来维护用于被动副本或 SCR 数据库与数据库主动副本的路径之间的命名约定。

在 LCR 环境中,在管理员希望通过将数据库被动副本在 Active Directory 目录服务中的位置更改为指向包含存储组和数据库文件被动副本的路径来终止复制并激活数据库的被动副本时,需要使用 ReplaceLocations 参数。这是一项快速操作,完成后即可装入数据库。如果不使用此选项,则必须将被动副本的数据复制或移动到存储组主动副本的路径中。如果无法通过文件系统重命名命令或卷操作来实现这一目的,中断时间将与复制日志和数据库文件所需的时间成比例。

在 CCR 环境中,激活的副本位于不同节点中,并且处在正确的位置上。因此,在激活过程中没有必要更改日志或数据库的位置。

可以使用 Restore-StorageGroupCopy cmdlet 在活动的新节点上覆盖有关装入存储组的丢失限制。例如,AutoDatabaseMountDial 可能设置为 Lossless,这意味着即使只有一个来自上次装入的节点的日志文件不能在副本中复制或重播,该数据库也不能装入。处于这种状态时,可以还原存储组副本并装入数据库。

note注意:
某些情况下,在活动的新节点上覆盖装入存储组的丢失限制,可能需要重新设定以前活动节点存储组的种子。如果将丢失区域中的一个或多个日志写入到数据库,则需要重新设定种子。

Restore-StorageGroupCopy cmdlet 终止存储组的连续复制,并使被动副本或 SCR 目标可用于 Mount-Database cmdlet。具体来说,可按照以下方式使用 Restore-StorageGroupCopy cmdlet:

  • 在 CCR 环境中,当自动安装支持不安装数据库,且管理员必须显式介入以安装数据库时,需要使用该 cmdlet。

  • 在 LCR 环境中,使用该 cmdlet 可禁用 LCR,并使被动副本可用于 Mount-Database cmdlet。

  • 在 SCR 环境中,使用该 cmdlet 可禁用 SCR,并使 SCR 目标副本可用于 Mount-Database cmdlet。

Restore-StorageGroupCopy cmdlet 可以完成以下目标:

  • 将存储组的数据库标记为可装入。

  • 提供由于在存储组中装入数据库而可能导致数据丢失的报告(如果有)。

  • 验证存储组主动副本生成的所有日志文件是否均显示在被动副本的存储组文件位置。如果有日志文件丢失,此操作将尝试复制丢失的日志文件。

    note注意:
    如果并非所有的所需日志文件都可用,并且 Restore-StorageGroupCopy cmdlet 无法从主动存储组文件位置成功地复制它们,那么数据库将丢失数据。有关 CCR 如何管理数据丢失的详细信息,请参阅群集连续复制
  • 对于 LCR 和 SCR,还会禁用连续复制。

  • 对于 LCR,如果数据库丢失数据,则将需要重新创建内容索引。

  • 对于 LCR,此命令必须在驻留存储组的服务器上运行。

    note注意:
    对于 CCR,被动副本要成为主动副本,必须首先将其装入。装入并激活后,该副本将成为后续复制活动的新主动副本。

若要运行以下代码,必须为您使用的帐户委派 Exchange Server 管理员角色以及目标服务器的本地 Administrators 组成员身份。有关管理 Exchange 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

参数

参数 必需 类型 说明

Identity

必需

Microsoft.Exchange.Configuration.Tasks.StorageGroupIdParameter

Identity 参数接受下列值之一:

  • GUID

  • 存储组的名称

Confirm

可选

布尔值

Confirm 参数将导致命令暂停处理,并且需要管理员在处理继续之前确认该命令将执行的操作。默认值为 $true。

DomainController

可选

Microsoft.Exchange.Data.Fqdn

若要指定要使用域控制器的完全限定的域名 (FQDN),请在命令中包含 DomainController 参数。

Force

可选

System.Management.Automation.SwitchParameter

当任务以编程方式运行,且提示管理输入不正确时,可以使用 Force 参数。如果在该 cmdlet 中未提供 Force,则会提示进行管理输入。如果在该 cmdlet 中提供了 Force,但是省略了值,则其默认值是 $true。当运行 Restore-StorageGroupCopy cmdlet 以使 SCR 目标可用于装入时,如果 SCR 源不可用,则必须将 Force 参数包含在该 cmdlet 中。

ReplaceLocations

可选

System.Management.Automation.SwitchParameter

在 LCR 配置中,当管理员要终止复制并将副本的路径置于生产存储组和数据库的位置属性中时,需要使用 ReplaceLocations 参数。使用副本的位置更新生产数据库和存储组对象的路径。

ReplaceLocations 参数在 CCR 环境中无效。

StandbyMachine

可选

System.String

StandbyMachine 参数用于指定驻留正在还原的 SCR 目标的服务器名称。必须使用此参数还原 SCR 目标。如果不包含此参数,则此任务将应用于 LCR 或 CCR 被动副本。

WhatIf

可选

布尔值

WhatIf 参数指示 cmdlet 模拟要为对象执行的操作。通过使用 WhatIf 参数,管理员可以查看要发生的更改,而不必应用任何这些更改。默认值为 $true。

错误

错误 说明

Use 'Msg 1: Cluster not available' and change task name.

由于通信问题,或由于群集不可用,此任务不能连接到群集。

Use 'Msg 2: Wrong Version' and change task name.

此服务器不是 Exchange 2007 服务器。

Use 'Msg 3: No Permissions' and change the task name.

用户不具有 Exchange Server 管理员权限。

<ServerName> or <StorageGroupName> does not exist.

指定的存储组的服务器不存在。

Restore-StorageGroupCopy: Must be run on <ServerName>'s host machine.

此任务必须在复制目标的计算机上运行。

Restore-StorageGroupCopy: ReplaceLocations can only be used with Local Continuous Replication configurations.

指定的参数不存在,或者指定的组合无效。

CCR: No continuous replication copy of '<SGName>' to restore.

LCR:No continuous replication copy of '<SGName>' to restore.

这是不受支持的复制配置。尚未启用复制。

Use 'Msg 10: Comm' and change the task name.

ReplaceLocations 参数已指定并且不能使用所需的路径更新生产存储组的位置。

'<SGName>' is not in a healthy condition; storage group must be viable for a successful mount.

指定的副本未处于正常运行状态。

The database is not dismounted. Please dismount it before proceeding.

未卸除指定存储组的数据库。

Replication for '<SGName>' is not prepared to support a Restore-StorageGroupCopy. Retry your operation after a brief wait.

复制尚未准备好,存储组不可用。

Replication for '<SGName>' is not prepared to support a Restore-StorageGroupCopy due to error (<ErrorCode>). Retry your operation after a brief wait.

发生了内部错误。Restore-StorageGroupCopy cmdlet 失败,不能获得用于 LCR 所有数据库的相关信息。

Replication for '<SGName>' is not prepared to support a Restore-StorageGroupCopy due to a backup in progress. Terminate the backup and retry.

因为备份正在执行,发生了内部错误。

Replication for '<SGName>' is not prepared to support a Restore-StorageGroupCopy due to error (<ErrorCode>). Retry your operation after a brief wait.

由于存储组未联机,发生内部错误。

Restore-StorageGroupCopy: <SGName> has no database.

存储组中没有数据库。

Restore of <StorageGroupName> was successful. All logs were successfully copied.

Or

Restore-StorageGroupCopy: Restore of <StorageGroupName> was successful and production paths were updated. All logs were successfully copied.

Or

Restore-StorageGroupCopy: Restore of <StorageGroupName> was successful. All logs were not successfully copied.

Time of the failure was: <FailureTime>.

Last log copied was <LogFileName> at <ItsChangeTime>.

Or

Restore-StorageGroupCopu: Restore of <StorageGroupName>was successful and production paths were updated. All logs were not successfully copied.

Time of the failure was: <FailureTime>.

Last log copied was <LogFileName> at <ItsChangeTime>.

成功报告详细描述采取了哪些操作以及操作结果,其中包括由于还原导致的数据丢失量。此报告还表明路径是否更新,以及下一步操作。

<SGName> already marked as available for a mount; no action taken.

存储组已经可用于装入。

示例

第一个代码示例说明如何对名为 SG1 的存储组禁用 LCR 并激活存储组的被动副本,使其可用于 Mount-Database 操作。

第二个示例说明如何对名为 SG1 的存储组激活 Server2 上的 SCR 目标并使其可用于装入。

Restore-StorageGroupCopy -Identity:SG1
Restore-StorageGroupCopy -Identity:SG1 -StandbyMachine:Server2