En esta entrada vamos a ver como crear una base de datos de recuperación (Recovery Database) en Exchange 2010 / 2013 o 2016.
En el artículo anterior vimos cómo restaurar una base de datos con Windows Server Backup. Independientemente de la herramienta utilizada para restaurar la base de datos, una vez tengamos los archivos podemos continuar con el procedimiento de creación de base de recuperación para montar la base restaurada y posteriormente extraer la información.
Creación de base de datos de recuperación en Exchange
Para crear una base de datos de recuperación abrir el Exchange Management shell (EMS) y ejecutar los siguientes comandos:
New-MailboxDatabase –Name Recovery -EdbFilePath ruta:\baserestaurada.edb –LogFolderPath ruta:\logRestaurados –Server servidor –Recovery
En este punto creamos la base de datos de recuperación a nivel de Exchange utilizando los archivos restaurados del backup.
En caso de que la base no este en Clean Shutdown ir a la ruta donde se encuentran los archivos restaurados (edb y logs) y ejecutar el siguiente comando:
Eseutil /r /i E00 /d
Nota: La sintaxis del comando indica que tanto base como logs están en el mismo directorio y que la base restaurada era la primer base de datos (E00)
3. Confirmar que la base haya quedado en estado de Clean Shutdown
Eseutil /mh baserestaurada.edb
Montar la base de recuperación para poder acceder a los datos
Mount-Database RDB
Opcionalmente confirmar que la base se encuentre montada:
Get-MailboxDatabase RDB –Status | ft mounted
Para ver los buzones que hay dentro de la base podemos ejecutar el siguiente comando:
Get-MailboxStatistics –Database Recovery
En el próximo artículo vamos a ver como recuperar un buzón de una recovery database.
Con esto llegamos al final del artículo, por más información teórica y práctica sobre recuperación de bases de datos en Exchange, ver el siguiente recurso para miembros VIP del sitio (videos de entrenamiento):
franco rodriguez says
estoy realizando el recovery pero al momento de montar la base me aparece el siguiente error
Failed to mount database «Recovery». Error: An Active Manager operation failed. Error: The database action fai
Error: An error occurred while trying to select a database copy for possible activation. Error: The database
Daniel Núñez Banega says
Franco, el error quedó cortado, tendrás el error completo?
Gustavo GM says
Ante todo te agradezco este enorme trabajo.
Estoy tratando de hacer un laboratorio, en una red separada totalmente de la productiva, con VM. Tomando backups con una máquina la cual tenía posibilidad de cambiar de boca del switch para que esté en una vlan u otra (nunca en las dos al mismo tiempo). Tuve muchos problemas al restaurar los DCs (discos C y System State), hastqa que opté por generar un dominio que se llama igual, pero está hecho de cero. Después instalé un Exchange en la misma versión que mi productivo (Exchange Server 2010 SP2) Tomá backup y lo restauré como indicás en estos artículos, hastq eu tuve una base limpia en el servidor de Exchange de Laboratorio, la cual nunca pude montar. El error es «Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1276)» Sólo encontré una referencia a este error, y es para Exchange 2007 que tiene que ver con la definicion de la Configuración de Organización (get-OrganizationConfig | fl Identity me devuelve Fisrt Organization en los servidores nuevos y [Nombre de Domino] en el productivo). Reinstalé casi todo (nunca, todavía los controladores de dominio) pero, durante la instalación del Exchange no puedo definir esto. ¿Cómo puedo definir esta configuración de la organización?. O, mejor necesito montar la mailboxdatabase Puede ser este el problema o es otro?.
Desde ya, muchas gracias
Te puedo facilitar varios links sobre el tema, pero ninguno tiene la respuesta al problema:
https://social.technet.microsoft.com/Forums/exchange/en-US/657545ea-ccc0-4da5-ace4-f16042148928/recovery-database-error-hr0x80004005-ec1276?forum=exchangesvravailabilityandisasterrecoverylegacy
http://www.networksteve.com/exchange/topic.php?TopicId=22220
Daniel Núñez Banega says
Hola Gustavo, te cuento que el nombre de la organización se define al momento de preparar Active Directory.
De cualquier modo habría que entender bien el objetivo de este entorno paralelo que estas armando. Si tu única intención es la de poder acceder a los datos de una base restaurada con la finalidad de recuperar elementos quizás lo mejor sea usar alguna aplicación de terceros y en ese caso no necesitarías Exchange instalado.
Si vas a tener un ambiente similar al de producción necesitarías primero que nada resolver la parte de Active Directory. Dado que tu entorno es virtual perfectamente podrías sacar una copia de un DC, conectarla a una VLAN completamente aislada de producción y limpiar la metadata. A partir de ahí podrías incorporar un Exchange que no genere problemas al montar las bases. Ya en esta última parte las opciones más comunes serían tomar una copia también de la VM y hacer ajustes o realizar la instalación de 0 usando la información que se encuentra en el AD (usando el modo de instalación de recuperación de servidor).
saludos
Luis Ossio says
Hola, tuve un problema con una base de datos en exchange 2013, aparecía desmontada, para mantener la continuidad de servicio cree una base de datos DialTone, ahora que pude reparar la base original quiero fusionar la DialTone (correos actuales) y base antigua (correos pasados), es posible? y de serlo cual seria el procedimiento.
Agradezco de antemano su colaboración
Daniel Núñez Banega says
Hola Luis, dependiendo del estado de la base reparada si te conviene dejarla en producción o solamente restaurar la información de esa base a una nueva.
Asumiendo que la base reparada haya tenido un problema menor y no tuvo que ser reparada con «eseutil /p», lo que podrías hacer es:
1. Desmontar las bases, la que en este momento se conectan los usuarios y la base de recuperación
2. Invertir las rutas o mover archivos y logs para que la base que estaba montada en la Recovery Database pase a ser a la que se conectan los usuarios y la temporal a la que se conectaban los usuarios quede en la Recovery Database
3. Montar las bases de datos
4. Restaurar la información de buzones de la base temporal que quedó en la Recovery Database a la base que quedó en producción usando New-MailboxRestoreRequest.
En el siguiente artículo tenés más info sobre como usar este comando:
Cómo recuperar un buzón de una Recovery Database?
Santiago says
Ante todo muchisimas gracias por el aportaso que te mandste. El problema que tengo es que mi base de datos esta en Dirty shutdown. Intente realizar un soft recovery pero no funciono. Que me recomendas? eseutil /p es la unica solucion que tengo?
Daniel Núñez Banega says
Hola Santiago, gracias por el comentario.
Respecto a tu consulta, lo ideal es usar «eseutil /r» para aplicar los logs necesarios a la base para dejarla en un estado de Clean Shutdown. Por lo que comentas esto no te funcionó bien, asumiendo que no sea debido a un error de sintaxis en la ejecución del comando y efectivamente algo este faltando como por ejemplo algún log, la alternativa sin recurrir a herramientas de terceros sería reparar usando «Eseutil /p» (puede haber pérdida de información).
En este caso la base debería quedar en un estado montable (Clean Shutdown) pero no sería soportado dejar esta base en producción, la idea sería montar la base y mover los buzones a una base de datos que no haya sido reparada.
Alejandro says
Buenas tardes Daniel, tengo un problema con un servidor de Exchange 2007, desgraciadamente se estropeó el sistema operativo y no podemos hacer nada con el. Conservamos eso sí los discos donde residen las bases de datos. La idea que tengo es montar otro servidor con Exchange 2007 y poder montar esas bases de datos que tenemos en esos discos para volver a recuperar la funcionalidad del anterior servidor, eso lo podría hacer con los comandos que mencionas en el artículo, funcionaría?.
Ante todo muchísimas gracias
Daniel Núñez Banega says
Hola Alejandro, este procedimiento no funciona con Exchange 2007.
Hay alternativas similares en 2007 pero no sería este el caso, otra opción sería utilizar herramientas de 3eros para acceder a las bases.