Exchange Server 中数据文件的移植

案例场景:

公司有一个Exchange Server(08Server1), 出现了故障,计算机无法启动,在服务器中有一个数据DB_HR.edb,  使用WinPE吧此数据文件拷贝出来。然后重新在服务器(08Server2)上安装好了Exchange Server

需求:如何把DB_HR.edb挂载到新的Exchange Server上继续提供服务器,而且原先用户的所有邮件能够继续被访问,确保所有的邮件都不能丢失。

一 .Exchange Server 2007的操作方法

1、重新创建存储组SG_HR,  在此存储组上新建数据库DB_HR.edb.

New-StorageGroup -Name SG_HR -Server 08Server2  -LogFolderPath:"D:\Program Files\Microsoft\Exchange Server\

SG_ HR\"  -SystemFolderPath:"D:\Program Files\Microsoft\Exchange Server\SG_HR" (创建存储组)

New-MailboxDatabase -StorageGroup 08Server2\SG_HR -Name DB_HR

2、进入刚才所创建数据库文件夹中,删除所有的日志文件,并且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,并且保证此数据库的属性中选中“还原是可以覆盖此数据库”

Set-MailboxDatabase DB_HR -AllowFileRestore:$true

3、装入此数据库

Mount-Database DB_HR

4、此时,Exchange Server的用户还不能访问自己的邮箱,原因在于:所有的用户在识别Mailbox角色的还是识别08Server1的,现在要把所有的用户的Mailbox的属性改成:08Server2

Get-Mailbox -Database 08Server1\DB_HR  |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Move-Mailbox -ConfigurationOnly -TargetDatabase 08Server2\DB_HR

或者Get-Mailbox -database 08Server1\DB_HR |  Move-MailBox -targetDatabase 08Server2\db_hr  -configurationonly:$true

5、此时,客户端访问,以前的邮件有可以看到了。恢复完毕!

注意点:

1)数据库可移植性只能用于邮箱数据库,不能用于公用文件夹数据库。

2)如果存在没有邮件或尚未打开的新邮箱,则此命令不会移动该邮箱,因为它尚未存在于存储中。

二、 Exchange Serve 2010

1.、由于在Exchange Server 2010上没有Storage Group的概念,所以只需要在08Server2上创建数据库。

New-MailboxDatabase -Name DB_HR -Server 08Server2 -EdbFilePath:"D:\Program Files\Microsoft\Exchange Server\ HR\DB_HR.EDB"   -SystemFolderPath:"D:\Program Files\Microsoft\Exchange Server\HR"

2、进入刚才所创建数据库文件夹中,删除所有的日志文件,并且拷贝从Windows PE中取出来的文件覆盖当前的EDB文件,并且保证此数据库的属性中选中“还原是可以覆盖此数据库”

Set-MailboxDatabase DB_HR -AllowFileRestore:$true

3、装入此数据库

Mount-Database DB_HR

4、此时,Exchange Server的用户还不能访问自己的邮箱,原因在于:所有的用户在识别Mailbox角色的还是识别08Server1的,现在要把所有的用户的Mailbox的属性改成:08Server2

Get-Mailbox -Database 08Server1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database 08Server2

5、此时,客户端访问,以前的邮件有可以看到了。恢复完毕!

原文地址:http://blog.51cto.com/ilyncsteven/2106788

时间: 2024-08-24 14:05:13

Exchange Server 中数据文件的移植的相关文章

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

关于Oracle与SQL Server中数据迁移的办法

最近遇到一个需求,需要把Oracle中一部分表的数据迁移到SQL Server数据库中.但是这些表的结构是有些差异的. 方法一,使用SQL Develper的数据导出工具,导出SQL insert语句,然后再手动修改其中的一些细节,最后在放到SQL Server中执行.因为前后的表结构是有差异的,我需要一条一条语句的去删掉一些字段,然后再删掉一些值,几条或者几十条数据还行,这40万条数据,太多了,这个方法行不通. 方法二,使用C#代码.我用C#写了一个Data Migration的控制台小程序,

Oracle 和SQL server中数据备份与恢复

Oracle 侧 创建一个表,将现有表数据导入其中. create Table  TB_NYU_TENDERTBL_BAK   as  select *  from  TB_NYU_TENDERTBL  where  1=1 删除原来表内容. DELETE  FROM TB_NYU_TENDERTBL 恢复表的内容 insert  into TB_NYU_TENDERTBL  select  * from  TB_NYU_TENDERTBL_BAK SQL server侧 select  * i

第2周 页_SQL Server 中数据存储的基本单位

原文:第2周 页_SQL Server 中数据存储的基本单位 上周通过探讨SQL Server如何执行一个查询奠定了基础.我也在那里提到页是8kb的缓存.今天我们对页进行进一步集中探讨,从性能调优角度挖掘出更多的细节. 页是SQL Server的基础,在SQL Server里一切都与页有关.当我们想提高查询性能时,我们可以减少SQL Server指定查询所需页的读取.在第二个月当我们讨论索引时,我们发现其实索引的结构也是由页组成的.当你不知道页是什么的时候,你就不能对SQL Server进行调优

不能往Windows Server 2008 R2 Server中复制文件的解决方法

目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度找到了解决方法,特此记录(记忆). 1.在任务管理器中找到"rdpclip.exe进程",如下: 2.删除"rdpclip.exe进程",再打开左上角的"文件"菜单,点新建任务,重新新建"rdpclip.exe进程",如下: 这样就可以继续复制文件了. 原文地址:https://www.cnblogs.co

SQL Server中数据库文件的存放方式,文件和文件组 (转载)

简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识. 理解文件和文件组 在SQL SERVER中,通过文件组这个逻辑对象对存放数据的文件进行管理. 先来看一张图: 我们看到的逻辑数据库由一个或者多个文件组构成 而文件组管理着磁盘上的文件.而文件中存放着SQL SERVER的实际数据. 为什么通过文件组

《SQL Server企业级平台管理实践》读书笔记——SQL Server中数据文件空间使用与管理

1.表和索引存储结构 在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的.每个B树或者堆,在sysindexes里面都有一条记录相对应.SQL Server2005以后,引入了分区表的概念(Table Partition),在存储组织上,现有的分区基本上替代了原来表格的概念,原先表的概念成为了一个逻辑概念.一个分区就是一个B树或者一个堆.而一张表格则是一个到多个分区的组合. 1.1用B树存储于聚集索引的表数据页 如果一个表格上有聚集索引(Clustered In

在Team Foundation Server中查找文件或代码

很多用户在使用TFS的过程中,都抱怨一个问题,不能在TFS的代码库中查找文件!虽然TFS的所有数据都存储在数据库中(SQL Server),但是由于代码文件存储的特殊性,你不能通过全文搜索的功能直接在数据库里查询.当前最新版本TFS 2013 update 4和TFS Online,也没法在界面上找到与代码有关的搜索功能. 但是通过调研,发现TFS代码库中的查询功能,有以下几中方法: 1. 利用TFS代码的命令行工具TF.exe查询代码库中文件 TFS代码的命令行工具TF.exe几乎可以完成在U

Android数据库中数据文件的导出与查看

当Android开发过程中涉及到数据库的操作,我们通常需要将App的数据库文件(即*.db文件)导出查看,以验证对数据库的增删改查是否正确. 由于真机在没有root的情况下,没有权限访问受保护的数据存储区域,所以为了简单起见,可以选择在模拟器上进行数据文件的导出工作.本文用来验证 一个ContentProvider示例是否成功的进行了数据库插入操作,开发工具为Eclipse ADT(Android API 18),详细的步骤如下:  (1)首先New一个模拟器,具体步骤如下图所示(红框标出操作选