如何使用数据库可移植性将邮箱数据库还原到新服务器
本主题介绍如何使用
Microsoft Exchange Server 2007
中的数据库可移植性功能在创建数据库的服务器以外的其他服务器上装入邮箱数据库。有关数据库可移植性的详细信息,请参阅数据库可移植性。
注意:
数据库可移植性不支持公用文件夹数据库。
开始之前
若要在安装了邮箱服务器角色的计算机上执行以下步骤,必须使用拥有为
Exchange Server Administrators
组分配的权限的域帐户进行登录。该帐户还必须是该计算机上本地
Administrators
组的成员。
步骤
如何将数据库移动到新服务器
在将邮箱数据库移动到新服务器之前,该数据库需要处于干净关闭状态。如果数据库处于干净关闭状态,请继续执行步骤
2
。否则,请执行下面的软恢复步骤:
注意:
执行软恢复时,任何未提交的日志文件都会提交到数据库。如果没有日志文件,则无法完全完成软恢复过程。继续执行步骤
2
。
若要将日志文件提交到数据库,请从命令提示符运行以下命令:
复制代码
ESEUTIL /R <Enn>
注意:
<Enn>
指定希望重播到数据库中的事务日志的日志文件前缀。由
<Enn>
指定的日志前缀是
ESEUtil /R
的必需参数。
在可以装入数据库之前,必须先在新服务器上创建该数据库。选择要装入数据库的存储组,然后使用以下命令创建数据库:
复制代码
New-MailboxDatabase -StorageGroup <Server_Name>\<StorageGroup_Name> -Name <Database_Name>
注意:
已移动数据库的名称必须与其在以前的
Exchange
服务器上配置的名称相同。运行以下
Exchange
命令行管理程序命令可以查找数据库名:
get-storagegroup -identity <storagegroup> |fl name,systemfolderpath
注意:
若要新建存储组,请参阅如何新建存储组。
通过运行以下命令,设置“还原时可以覆盖此数据库”属性:
复制代码
set-mailboxdatabase <database_name> -AllowFileRestore:$true
将数据库文件(
.edb
文件、日志文件和
Exchange
搜索编录)移动到适当位置。这些数据库文件必须存在,并且位于新服务器上的正确位置。
使用以下命令装入数据库:
复制代码
mount-database <database_name>
装入数据库之后,必须用
move-mailbox -configurationonly
命令修改用户帐户设置,以便使该帐户指向新邮箱服务器上的邮箱。若要使用
move-mailbox cmdlet
将所有用户从旧数据库移动到新数据库,请运行以下命令:
复制代码
get-mailboxstatistics -database <new_database_name> | move-mailbox -configurationonly -targetdatabase <new_database_name>
注意:
如果存在没有邮件或尚未打开的新邮箱,则此命令不会移动该邮箱,因为它尚未存在于存储中。
完成了
Active Directory
目录服务复制之后,所有用户都可以访问其在新
Exchange
服务器上的邮箱。
客户端可以按如下方式连接到新服务器:
Microsoft Office Outlook 2007
客户端将通过自动发现服务进行重定向。
Outlook Web
访问用户将自动重定向到新服务器。
如果服务器名已更改,则更早的
Outlook
客户端将需要进行手动配置,以指向新服务器。
与邮箱配置相关的命令的示例
下面是可用于以
-configurationonly
开关移动用户的
Exchange
命令行管理程序命令的示例:
若要将所有邮箱从
Server1
移动到
Server2
上的
Mailbox Database 1
,请运行以下命令:
复制代码
Get-Mailbox �Cserver server1 | Move-Mailbox �CTargetDatabase "Server2\Mailbox Database 1" �CConfigurationOnly:$True
若要将所有邮箱从
Server1
上的
Mailbox Database 1
移动到
Server2
上的
Mailbox Database 1
,请运行以下命令:
复制代码
Get-Mailbox �CDatabase "Server1\Mailbox Database 1" | Move-Mailbox targetdatabase "Server2\Mailbox Database 1" �CConfigurationOnly:$True
若要将一个邮箱从
Server1
移动到
Server2
上的
Mailbox Database 1
,请运行以下命令:
复制代码
Move-Mailbox -Identity JSmith -TargetDatabase "Server2\Mailbox Database 1" �CConfigurationOnly:$True