Exchange Server数据库是如何被损坏的?我们如何修复Exchange数据库中的腐败?
Exchange数据库由日志文件和EDB文件组成。两个文件相互依赖。这是为什么呢?如果用户或应用程序直接打开数据库,数据库将被锁定,很容易被破坏。因此,缓存和日志文件充当用户/应用程序和数据库之间的缓冲区,以提高性能和运行状况。和其他文件一样,它也会因为各种原因损坏,比如:
- 突然停电
- 硬件故障
- 软件故障,如更新
- 第三方软件与应用程序不兼容
- 不正确的杀毒软件配置
- 人为错误
- 恶意软件和病毒
- 存储空间不足
在突然断电的情况下,服务器会在没有提示的情况下关闭,这意味着在断电时数据库仍然是打开的。这可能导致数据库损坏。与Exchange Server不兼容的任何第三方应用程序,如备份和防病毒程序,都会在锁定数据库文件时妨碍或阻止Exchange Server正常工作。病毒和其他恶意软件代码,如勒索软件,除了破坏你的服务器,也可以破坏数据。
所有这些都可能导致数据库损坏。然而,从损坏的数据库中提取数据并不容易。事实上,该数据库是EDB格式的,这是微软的专利。不幸的是,如果数据库没有挂载,就无法从EDB文件中本机提取数据。
有人可能会说这不是什么大问题,因为服务器和数据库可以从备份中恢复,因为它是一个虚拟机。另一方面,备份通常在夜间完成。然而,看看如今的企业,电子邮件流量每时每刻都在增加,而企业更多地转移到云端,并依赖于电子邮件。因此,如果数据库在中午损坏,从昨晚的备份中恢复将导致一整天的邮件丢失。不仅是电子邮件,还有任务、日志、会议日历和其他存储在公共文件夹和其他集合中的数据的丢失。
在我们开始使用EDB之前,先使用本机工具EseUtil,我们需要在我们网络上的某个地方备份数据库,以防我们需要微软的支持(这将在后面解释,为什么我们需要这个)。另一件我们需要注意的事情是,服务器上有足够的空间用于恢复过程。
在Exchange服务器上,以管理员身份打开命令提示符并浏览到受影响的EDB文件的位置。键入以下命令以获取数据库的状态。
EseUtil / mh
这将显示与数据库相关的所有信息。重要的是要注意数据库的状态。如果数据库位于肮脏的关闭状态,则需要使用eseutil / r参数,该参数将对数据库进行软恢复。完成此操作后,可以尝试挂载数据库。但如果这不起作用,那么唯一的解决办法就是实施硬复苏。这里要注意的一件事是,硬恢复有可能会修复数据库,但这可能会导致数据丢失。现在,根据数据库的损坏程度,该进程将从数据库中清除任何损坏的数据,并尝试将其恢复到健康关闭状态。然而,除了数据丢失之外,这一过程也有可能失败。
此外,在运行硬恢复之前,请确保您拥有与数据库大小相同的空闲空间。
还记得我们上面说过的备份数据库吗?原因是,如果您在数据库上运行硬恢复,微软不一定会提供帮助,它可以从数据库中的一个隐藏参数获取该信息。
运行以下命令,
EseUtil / p
完成此操作后,就可以挂载数据库了。
使用EseUtil进行恢复的挑战是什么?嗯,最糟糕的部分是使用硬恢复时数据丢失。另一件事是所需的资源,如空间和管理工作。
一个更好的选择是使用Stellar Repair for Exchange。交换数据库恢复软件使您能够修复损坏的数据库,从一个或多个EDB文件导出数据,将EDB文件直接导出到实时Exchange数据库或Office 365。你如何从中受益?停机时间将减少75%,公司将很快恢复运营,数据损失最小。
常见问题:
在数据库上运行eseutil /p是否安全?
如果您正在使用eseutil/p命令,那么如果您对该命令有深入的了解,则是安全的。另外,在进程完成之前不要停止它,因为它会破坏数据库文件。
eseutil/p过程需要多少时间?
Eseutil实用程序每小时大约运行3到6 GB,碎片整理每小时占用9gb。确切的时间取决于您的硬件和生产环境。
Eseutil /p在修复损坏的表时崩溃?
确保在执行修复的驱动器上有足够的空间(至少是当前正在修复数据库的110%)。还建议在执行修复时临时禁用病毒扫描。