本文介绍 Exchange Server 2003 中的一种新功能:恢复存储组。通过使用恢复存储组功能,您可以将 Exchange 邮箱存储(数据库)的第二个副本安装到原始邮箱存储所在的计算机上,或安装到同一个管理组下的任何其他 Exchange 计算机上。您可以使用恢复存储组功能来恢复邮箱数据,而不必单独安装并配置一个 Exchange 恢复计算机。
本文包含有关恢复存储组功能如何工作的信息。本文讨论如何创建恢复存储组、如何将邮箱数据恢复到恢复存储组以及如何从恢复存储组提取已恢复的邮箱数据。
恢复存储组工作方式概述
在 Exchange Server 2003 之前的 Exchange Server 版本中,如果您想安装 Exchange 生产数据库的另一个副本,或想安装一个不同版本的 Exchange 生产数据库,则您必须在一个恢复服务器上配置一个单独的 Microsoft Active Directory 目录服务林。有了 Exchange Server 2003 的恢复存储组功能,当您想从邮箱存储恢复数据时,有些情况下就不再需要一个单独的恢复计算机。在您创建一个恢复存储组并向其中添加一个或多个数据库后,您既可以将联机备份集恢复到恢复存储组,也可以将脱机数据库文件复制到恢复存储组。要将恢复存储组中的已恢复的数据库中的数据提取或合并到常规存储组的邮箱中,请使用 Microsoft Exchange 邮箱合并向导 (Exmerge.exe) 的 Exchange Server 2003 版本。
要使用恢复存储组,Exchange Server 2003 计算机的 Active Directory 拓扑结构必须完好并且必须与创建数据库副本时的状态相同。这意味着您要恢复的一个或多个邮箱既不能从系统中删除或清除,也不能移到另一个数据库中或另一台服务器上。
恢复存储组功能不适合用于涉及多台服务器或多个存储组的灾难恢复操作。它是对以前需要备用林恢复服务器的情况的替代解决方案。如果恢复操作符合以下两个条件,请使用恢复存储组功能:
• | Active Directory 中关于存储组及其邮箱的逻辑信息原样未动。 |
• | 您要从单个邮箱、从单个数据库或从单个存储组中的一组数据库恢复数据。例如,您可以使用恢复存储组来恢复从用户邮箱删除或清除的项目;或者,当数据库的另一个副本仍处于生产状态时,您可以使用恢复存储组来恢复或修复一个备用数据库副本。 |
恢复存储组与常规存储组有何不同
恢复存储组是一个可以与常规存储组同时存在的特殊存储组。虽然恢复存储组与常规存储组相似,但恢复存储组与常规存储组在以下几方面存在区别:
• | 除 MAPI 以外的所有其他协议全被禁用。这意味着,您不能向恢复存储组中的邮箱存储发送邮件,也不能从其接收邮件。但是,您可以使用 Exmerge.exe 工具来访问邮箱以便恢复数据。 |
• | 您不能将恢复存储组中的用户邮箱与 Active Directory 中的用户帐户连接起来。要访问恢复存储组中的邮箱,您可以采用的唯一受支持的方法是使用 Exmerge.exe 工具的 Exchange Server 2003 版本。 |
• | 您不能对恢复存储组应用系统和邮箱管理策略。 |
• | 联机维护和碎片整理与恢复存储组中的数据库不冲突。 |
• | 您必须在恢复存储组中手动安装数据库。您不能将数据库配置成在 Exchange 系统管理器中自动安装。 |
• | 创建恢复存储组后,您不能更改路径位置或移动数据文件,因为这些操作是不受支持的。如果您想更改这些文件在恢复存储组中的位置,您必须删除恢复存储组,然后重新进行创建。 |
• | 您只能将邮箱存储恢复到恢复存储组,而不能将公用文件夹存储恢复到恢复存储组,因为此操作不受支持。您在 Exchange Server 2003 中恢复公用文件夹的方法与您在 Exchange 2000 Server 中使用的方法一样。 |
• | 如果包含个人邮箱存储的计算机和包含恢复存储组的计算机位于同一管理组中,则您可以将任何运行 Exchange Server 2003 或 Exchange 2000 Service Pack 3 (SP3) 或更高版本的计算机上的任何个人邮箱存储恢复到恢复存储组中。
注意:当您将邮箱存储恢复到恢复存储组中时,邮箱存储会升级到计算机上当前运行的邮箱存储版本。这意味着,您必须将原始计算机上的 Exchange 升级到恢复存储组所在的计算机上运行的 Exchange 版本,然后才能将数据库重新复制到原始计算机上。例如,如果您将一个邮箱存储从一个运行着 Exchange 2000 Server SP3 的计算机恢复到一个运行着 Exchange Server 2003 的计算机上存储的恢复存储组,则必须将原始计算机升级到 Exchange Server 2003。
您可以使用 Exmerge.exe 工具在服务器与服务器之间移动或复制邮箱数据,而不必考虑在计算机上运行的 Exchange Server 的版本。 |
• | 默认情况下,数据会被恢复到计算机上的现有恢复存储组中。 |
• | 如果您将多个数据库恢复到一个恢复存储组,则您添加到该恢复存储组的所有数据库都必须来自同一存储组。 |
• | 一台计算机上只能有一个恢复存储组。 |
• | 每个双节点群集只能有一个恢复存储组,而不管现有的 Exchange 虚拟服务器数是多少。对于包含两个以上节点的群集,每个 Exchange 虚拟服务器都可以有它自己的恢复存储组。 |
如何将恢复存储组重新链接到原始数据库
恢复存储组使用下面两个 Active Directory 属性将数据库副本与原始数据库链接起来:
• | msExchMailboxGUID 属性:
在您使用恢复存储组从邮箱恢复数据之前,邮箱必须通过的第一个测试是,邮箱 GUID 必须与 Active Directory 中的用户相对应。
邮箱 GUID 是使一个邮箱有别于所有其他邮箱的一个唯一值。在创建邮箱时,邮箱存储中会创建邮箱 GUID,该值在邮箱的整个生存期内保持不变。msExchMailboxGUID 属性使用邮箱存储中的邮箱 GUID 值。当您将邮箱链接到 Active Directory 中的用户帐户上时,拥有此邮箱的用户设有 msExchMailboxGUID 属性。Exmerge.exe 工具使用 msExchMailboxGUID 属性来匹配恢复存储组中的邮箱与原始邮箱。
在您删除邮箱时,将从 Active Directory 中以前拥有此邮箱的用户对象上删除所有邮箱属性。因此,您无法使用恢复存储组来恢复已删除的邮箱。 |
• | msExchOrigMDB 属性:
在您可以通过使用恢复存储组从邮箱恢复数据之前,邮箱必须通过的第二个测试是,邮箱必须位于原来创建恢复存储组的邮箱存储中。恢复存储组中的每一个数据库对象都设有 msExchOrigMDB 属性,该属性指定创建恢复存储组的原始数据库的独有名称。如果您将邮箱移到另一个邮箱存储中,您就无法使用 Exmerge.exe 工具从邮箱提取数据。要解决此问题,请执行下列操作之一: • | 将邮箱移回原始邮箱存储。 | • | 修改恢复存储组数据库的 msExchOrigMDB 属性以指向您将邮箱移到的邮箱存储。
当您使用此选项时,您无法使用 Exmerge.exe 工具来访问任何未移到另一个邮箱存储的邮箱。如果您想访问仍留在原始邮箱存储中的邮箱,您就必须将 msExchOrigMDB 属性重新更改为原来的值。
要通过使用“ADSI 编辑”来修改 msExchOrigMDB 属性,请按照下列步骤操作。警告:如果使用“ADSI 编辑”管理单元、LDP 实用工具或任何其他 LDAP 版本 3 客户端,并且不恰当地修改了 Active Directory 对象的属性,则可能造成严重问题。要解决这些问题,您可能需要重新安装 Microsoft Windows 2000 Server、Microsoft Windows Server 2003、Microsoft Exchange 2000 Server 或 Microsoft Exchange Server 2003,或者 Windows 和 Exchange 二者都需要重新安装。Microsoft 不保证能够解决因为 Active Directory 对象属性修改不当而产生的问题。修改这些属性需要您自担风险。 1. | 启动“ADSI 编辑”。 | 2. | 找到您将邮箱移动到的邮箱存储。为此,请展开“配置容器 [YourServerName.YourDomainName.YourTopLevelDomain]”,展开“CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain”,展开“CN=Services”,展开“CN=Microsoft Exchange”,展开“CN=YourOrganizationName”,展开“CN=Administrative Groups”,展开“CN=Your Administrative Group”(其中 Your Administrative Group 是包含您要更改的存储组的管理组),展开“CN=Servers”,展开“CN=YourServerName”,展开“CN=InformationStore”,然后单击“CN=YourStorageGroup”。 | 3. | 在右窗格中,右键单击数据库对象,然后单击“属性”。 | 4. | 在“选择要查看哪些属性”列表中,单击“两者”。 | 5. | 在“请选择要查看的属性”列表中,单击“distinguishedName”。 | 6. | 右键单击“值”框中的值,然后单击“复制”。 | 7. | 单击“取消”。 | 8. | 找到并单击“CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain”容器中的恢复存储组数据库对象。 | 9. | 在右窗格中,右键单击恢复存储组数据库对象,然后单击“属性”。 | 10. | 在“选择要查看哪些属性”列表中,单击“两者”。 | 11. | 在“请选择要查看的属性”列表中,单击“msExchOrigMDB”。 | 12. | 单击“清除”。 | 13. | 右键单击“编辑属性”框的空白区域,然后单击“粘贴”。 | 14. | 单击“设置”,然后单击“确定”。 | 15. | 退出“ADSI 编辑”。 |
|
|
Recovery SG Override 注册表值
Exchange 信息存储会自动地将所有恢复操作重定向到恢复存储组(如果服务器上有恢复存储组)。 当服务器上创建恢复存储组后,Exchange 会检查恢复存储组中是否存在选择的要对其执行恢复操作的数据库。如果存在,数据库文件就会恢复到恢复存储组。如果不存在,恢复操作就会停止。
如果您删除恢复存储组,信息存储会还原为典型恢复行为。这就是说,恢复操作不会自动地重定向到恢复存储组。
如果您不想将数据恢复到恢复存储组,并且您不想删除恢复存储组,请在下列注册表项中创建 Recovery SG Override 值,然后将值设置为 1:
HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \MSExchangeIS \ParametersSystem
当您创建此值时,信息存储在恢复操作过程中会忽略恢复存储组。
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
要创建和配置
Recovery SG Override 注册表值,请执行以下操作:
1. | 单击“开始”,然后单击“运行”。 |
2. | 在“打开”框中,键入 regedit,然后单击“确定”。 |
3. | 找到并单击以下注册表项: HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \MSExchangeIS \ParametersSystem |
4. | 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。 |
5. | 键入“Recovery SG Override”,然后按 Enter 键。 |
6. | 在编辑菜单上,单击“修改”。 |
7. | 在“数值数据”框中,键入 1,然后单击“确定”。 |
8. | 退出注册表编辑器。 |
重要说明:在您不再需要 Recovery SG Override 注册表值时,一定要删除该值。
创建恢复存储组
要创建一个恢复存储组,请执行以下操作:
1. | 启动 Exchange 系统管理器。 |
2. | 展开“管理组”(如果有),展开“AdministrativeGroupName”(如果有),然后展开“服务器”。 |
3. | 右键单击“ServerName”,指向“新建”,然后单击“恢复存储组”。 |
4. | 在“名称”框中,为恢复存储组键入一个名称。
当您为恢复存储组指定名称时,请尝试使用与原始存储组相同的名称。在执行此操作时,如果您收到一个与下面的内容类似的错误信息,请为恢复存储组使用一个不同的名称: The object StorageGroupName already exists.Enter a unique directory name for this object. |
5. | 在“事务日志位置”和“系统路径位置”框中,请为事务日志文件和系统路径指定位置。确保您为恢复存储组的事务日志文件指定的位置与为原始存储组的事务日志指定的位置不同。 |
6. | 单击“确定”。 |
7. | 右键单击您创建的恢复存储组,然后单击“向服务器添加数据库”。 |
8. | 在“选择要恢复的数据库”对话框中,单击您想将其添加到恢复存储组中的邮箱存储,然后单击“确定”。 |
9. | 在“邮箱存储属性”对话框中,检查邮箱存储属性,然后单击“确定”。 |
将邮箱存储恢复到恢复存储组
您可以使用下面的任一方法将邮箱存储恢复到恢复存储组:
• | 从联机备份恢复邮箱存储。 |
• | 将数据库文件手动复制到服务器上适当的文件夹中。 |
从联机备份恢复邮箱存储
1. | 如果数据库当前安装在恢复存储组中,请按照下列步骤操作: a. | 卸除该数据库。 | b. | 使用 Eseutil.exe 命令行工具以验证数据库是否处于“正常关闭”状态。为此,打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行,然后按 Enter 键: Eseutil /mh YourDatabaseName.edb 在“命令提示符”窗口中出现的输出中,注意“状态”行是显示为“状态:正常关闭”还是显示为“状态:不正常关闭”。如果数据库一致,请删除所有针对恢复存储组的事务日志文件 (.log) 和检查点文件 (.chk)。 |
|
2. | 将完整备份集恢复到恢复存储组所在的服务器上。
如果您不是要恢复另外的差异备份或增量备份,或您不是要添加另外的日志文件,请配置一个自动运行的硬恢复。如果您使用 Microsoft 备份,则当您单击以选中“上次备份集”复选框时,请配置一个自动运行的硬恢复。 |
3. | 验证要恢复的数据库是否一致,是否处于“正常关闭”状态。为此,打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行,然后按 Enter 键: Eseutil /mh YourDatabaseName.edb 在“命令提示符”窗口中出现的输出中,注意“状态”行是显示为“状态:正常关闭”还是显示为“状态:非正常关闭”。 |
4. | 根据您的具体情况执行下列操作之一: • | 如果数据库一致,请转向步骤 5。 | • | 如果数据库不一致,请手动执行硬恢复。为此,打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行(其中 Path of the Restore.env file 是硬盘上包含 Restore.env 文件的文件夹的路径): Eseutil /cc Path of the Restore.env file 当硬恢复操作成功完成后,Restore.env 文件将被删除。 |
|
5. | 启动 Exchange 系统管理器,然后查看您恢复的数据库属性。在“邮箱存储属性”的“数据库”选项卡上,验证“还原时可以覆盖此数据库”复选框是否处于选中状态。 |
6. | 装入该数据库。 |
将数据库文件手动复制到恢复存储组
1. | 验证要恢复的数据库是否一致,是否处于“正常关闭”状态。为此,打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行,然后按 Enter 键: Eseutil /mh YourDatabaseName.edb 在“命令提示符”窗口中出现的输出中,注意“状态”行是显示为“状态:正常关闭”还是显示为“状态:非正常关闭”。 |
2. | 根据您的具体情况执行下列操作之一: • | 如果数据库一致,请转向步骤 3。 | • | 如果数据库不一致,但存在数据库日志文件,请使用 Eseutil.exe 工具对数据库执行软恢复。当您执行软恢复时,未提交的日志将被提交给数据库。要执行软恢复,请打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行(其中 enn 是日志文件前缀),然后按 Enter 键: eseutil /r /enn /i /d path of database file | • | 如果数据库不一致而且不存在数据库日志文件,请使用 Eseutil.exe 工具在数据库上执行硬恢复。
警告:当您使用下面的命令时,将丢失 Exchange Server 数据。数据丢失可能很严重,但多数情况下,数据丢失量很少。以下命令是一个硬恢复(强制状态恢复)命令。只有在您运行 Eseutil /mh YourDatabaseName.edb 命令后数据库没有返回一致状态时,才能使用此命令。
要执行硬修复,请打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行,然后按 Enter 键: eseutil /p YourDatabaseName.edb |
|
3. | 将 .edb 和 .stm 数据库文件复制到早先当您创建恢复存储组时指定的适当的文件夹中。 |
4. | 如果数据库当前安装在恢复存储组中,请按照下列步骤操作: a. | 卸载数据库。 | b. | 使用 Eseutil.exe 工具来验证数据库是否处于“正常关闭”状态。为此,打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入下面的命令行,然后按 Enter 键: Eseutil /mh YourDatabaseName.edb 在“命令提示符”窗口中出现的输出中,注意“状态”行是显示为“状态:正常关闭”还是显示为“状态:非正常关闭”。如果数据库一致,请删除所有针对恢复存储组的事务日志文件 (.log) 和检查点文件 (.chk)。 |
|
5. | 启动 Exchange 系统管理器,然后查看您恢复的数据库属性。在“邮箱存储属性”的“数据库”选项卡上,验证“还原时可以覆盖此数据库”复选框是否处于选中状态。 |
6. | 装入数据库。 |
将恢复存储组中的邮箱数据提取或合并到常规存储组
使用 Microsoft Exchange 合并向导 (Exmerge.exe) 的 Exchange Server 2003 版本,将数据从恢复存储组中的数据库提取到常规存储组的用户邮箱。有关如何获取 Exmerge.exe 工具的更多信息,请访问下面的 Microsoft Web 站点:
适用于常规存储组中的数据库的 Exmerge.exe 功能也适用于恢复存储组中的数据库。但是,请注意在您对恢复存储组使用 Exmerge.exe 工具时存在的以下区别:
• | 您不必覆盖在您从恢复存储组提取数据时为管理组的成员的“另外接收为”权限而配置的“拒绝”设置。但是,当您将数据重新合并到常规存储组时,您必须向邮箱存储添加适当的用户帐户,并且您必须向该帐户分配“另外接收为”权限。 |
• | 原始邮箱必须仍然位于原始数据库中,并且必须仍然连接着一个 Active Directory 用户帐户。请注意以下问题: • | 如果邮箱已断开连接,Exmerge.exe 工具不在可用邮箱列表中显示该邮箱。 | • | 如果邮箱已移到另一个数据库,则会在可用的邮箱列表上显示该邮箱,但 Exmerge.exe 工具不能从其中提取数据。 | • | 如果邮箱与 Active Directory 中的一个用户断开连接,然后重新连接到了 Active Directory 中的另一个用户,但邮箱仍保留在原始数据库中,则 Exmerge.exe 工具可以从恢复存储组中提取邮箱数据。但是,Exmerge.exe 工具会将当前邮箱所有者的 mailNickname 属性用作邮箱的显示名称,将原先的邮箱所有者的属性用作目录名称。生成的 .pst 文件使用一个基于原先的所有者的 mailNickname 属性的名称。您必须重命名 .pst 文件,使之与邮箱的当前所有者的 mailNickname 属性相匹配,然后才能将邮箱数据重新导入到原始邮箱。这意味着您必须执行由两个步骤构成的合并操作。您必须在两步操作之间重命名 .pst 文件。 |
|
邮件传递拨号音恢复策略
如果您有一个大型邮箱存储,则从备份恢复邮箱存储可能需要几个小时。通过“邮件传递拨号音”策略,您可以更快地将电子邮件服务恢复给用户,并且您可以在用户以前的数据可用时恢复以前的数据。首先,通过移动当前的数据库文件来创建一个临时的、空的、“拨号音”数据库来重新设置 Exchange 数据库。用户可以登录到该数据库来收发邮件。 当用户登录时,“拨号音”数据库中会创建一些新的空邮箱。因为在“拨号音”数据库中,新邮箱的
msExchMailboxGUID 属性的值与在原始数据库中相同,所以,您可以使用 Exmerge.exe 工具在原始数据库和临时的“拨号”数据库之间传送数据。
在建立并运行“拨号音”数据库后,您可以在恢复存储组中恢复或修复原始数据库。当恢复或修复操作完成后,请将两个数据库都卸载下来,然后在原始存储组与恢复存储组之间交换数据库文件。这样,用户就可以访问他们以前的数据,但不能访问新项目。要恢复访问新项目,请使用 Exmerge.exe 工具将数据从“拨号音”数据库传送到原始数据库。
有关 Exchange Server 2003 的详细信息,请访问下面的 Microsoft Web 站点:
“ADSI 编辑”包含在 Windows 支持工具中。您可以安装 Windows 2000 Server 和 Windows Server 2003 光盘中的 Support\Tools 文件夹中的 Windows 支持工具。 有关如何安装用于 Windows 2000 的 Windows 支持工具的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
301423 HOW TO:在基于 Windows 2000 Server 的计算机上安装 Windows 2000 Support Tools
Eseutil.exe 命令行工具位于 Exchsrvr\Bin 文件夹中。有关 Eseutil.exe 更多信息,请打开命令提示符,切换到 ExchSrvr\Bin 文件夹,键入
eseutil /?,然后按 Enter 键。