Recuperar base de datos Exchange
Como recuperar una base de datos de Exchange sin una copia de seguridad, aparte de la pérdida segura de todo el correo electrónico, no es una tarea fácil. No basta volver a crear una base de datos nueva, también hay que recrear los buzones del propio sistema de Exchange. Estos buzones están asociados a unos usuarios del Active Directory concretos según la edición o ediciones de Exchange que disponemos y que, normalmente, se encuentran dentro de la Unidad Organizativa Users. Estos usuarios son:
Para los buzones de servicio:
- SystemMailbox{1f05a927-ffd5-45ea-b50a-60ac5a4fa8e1} – Esta cuenta es un poco especial, siempre empieza por 1f05a927, pero el resto es aleatorio.
- SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
- SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
- Migration.8f3e7716-2011-43e4-96b1-aba62d229136
- FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042
Buzón de detección:
- DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}
Buzón de auditoría, sólo en Exchange 2016:
- SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9}
Iniciando una consola PowerShell de administración de Exchange, ya sea 2013 o 2016, se puede validar en que base de datos están ubicados estos buzones con el comando:
get-mailbox -arbitration
Destruir la base de datos de un servidor Exchange
Para entender lo que voy a hacer os pongo un poco en situación. Dispongo de un servidor de Active Directory. Un servidor Exchange 2013 con los buzones de usuarios y en producción. Y un servidor Exchange 2016, con su base de datos de buzones y perteneciendo a la misma organización de Exchange, terminado de desplegar en la infraestructura.
Recordar que las bases de datos se deben montar en discos aparte, separando los datos de los logs. Sin embargo, en este ejemplo y para simplificarlo, tengo los datos y los logs sobre el mismo disco duro.
Para ver correctamente el efecto, he desplazado el buzón de un usuario a la nueva base de datos de Exchange 2016 a la que borraremos y para practicar un poco de deportes de riesgo, este buzón es el del jefe.
Hacemos un poco el malote y simulamos una pérdida total de la base de datos de correos. Naturalmente, no os recomiendo hacer esta operación en un entorno en producción. Sólo en los casos justos y necesarios que hayamos tenido la desgracia de perder la base de datos.
Con el Explorador de Windows, se puede validar la ubicación de la base de datos (el nombre de la base de datos con extensión .EDB) y los archivos de log.
Vamos a hacer limpio de papeles, botón derecho del ratón sobre la unidad y hacer clic en Formatear.
Hacer clic en el botón Iniciar para realizar el proceso de formateado. Recordar que en caso de disponer de base de datos grandes el tamaño de asignación que sea lo más grande posible para optimizar el rendimiento.
Confirmación de lo que se va a hacer. ¡Ojo que esto es serio! No continuéis si no estáis seguros de lo que vais a hacer. Hacer clic en el botón Aceptar.
Advertencia que hay alguna aplicación utilizando la unidad, hacer clic en el botón Sí.
¡Nos acabamos de cargar una base de datos de buzones de Exchange! Hacer clic en el botón Aceptar para ver como ha quedado todo esto.
Si accedemos al panel de control del Exchange, en el apartado de Servidores y Base de datos, mediante el servidor que no ha sufrido la desgracia, se visualiza la base de datos como desmontada y en un estado desconocido. En definitiva, no está.
Recuperar la base de datos
Primero que todo, como no, hay que volver a crear los archivos de la base de datos. Basta con un intento de montar la que tenemos desmontada.
Desde el administrador de Exchange del servidor que tiene la base de datos montada, con el otro no podremos acceder al panel de control, seleccionar servidores y base de datos. Marcar la base de datos desmontada y hacer clic en el botón de más opciones y hacer clic en Montar.
Confirmación para montar la base de datos, hacer clic en el botón Si.
Confirmación para sobreescribir la base de datos, al no encontrar los archivos que necesita se puede confirmar tranquilamente para que los vuelva a crear desde cero. Hacer clic en el botón Aceptar.
La base de datos se vuelve a montar, vacía, claro, pero en buena forma.
Desde la consola PowerShell de administración de Exchange, lo comprobamos con:
get-mailboxdatabase
Comprobar que usuarios tienen el buzón perdido o afectado revisando la base de datos donde está alojado el buzón:
get-mailbox
Recuperar los buzones de sistema
Al perder la base de datos de Exchange se han perdido los buzones de sistema alojados en la misma base de datos, pero no las cuentas de usuario. Sin embargo, para evitar problemas de datos que puedan quedar huérfanos, y que en alguna ocasión me han dado más de un dolor de cabeza, recomiendo borrar las cuentas de estos usuarios. Sí, lo habéis oído bien, borrar las cuentas del Active Directory correspondientes a los usuarios de SISTEMA, ojo, no el jefe, de Exchange.
Desde la consola de Usuarios y Equipos de Active Directory, localizar las cuentas de sistema, normalmente en la unidad organizativa de Users, y eliminarlos con el botón Suprimir.
Borradas las cuentas y replicados los cambios en todos los servidores de Active Directory (repadmin /syncall), en el servidor de Exchange, cargar la ISO correspondiente de la versión instalada de Exchange 2013 o 2016. También se puede hacer con una versión superior, pero no inferior por compatibilidad con el esquema de Active Directory. Y ejecutar el comando de preparación del Active Directory para la instalación de Exchange Server:
setup /PrepareAD /IAcceptExchangeServerLicenseTerms
El asistente se encarga de volver a crear las cuentas en el Active Directory con la información correcta.
Comprobar que se han creado correctamente los usuarios de sistema de Exchange, desde la consola de PowerShell de Exchange.
Get-User -Filter {Name -like "*SystemMailbox*"} Get-User -Filter {Name -like "Federated*"} Get-User -Filter {Name -like "Migration*"} Get-User -Filter {Name -like "Discovery*"}
Crear los buzones para estas cuentas. ¡Alerta el buzón de auditoría y descubrimiento que la creación es diferente!. Recordar que la cuenta SystemMailbox{8cc370d3* corresponde por instalaciones sólo con Exchange 2016:
Get-User -Filter {Name -like "*SystemMailbox*"} | ?{$_.Name -notlike "*8cc370d3*"} | Enable-Mailbox -Arbitration Get-User -Filter {Name -like "Federated*"} | Enable-Mailbox -Arbitration Get-User -Filter {Name -like "Migration*"} | Enable-Mailbox -Arbitration Get-User -Filter {Name -like "Discovery*"} | Enable-Mailbox -Discovery Get-User -Filter {Name like "*SystemMailbox{8cc370d3*"} | Enable-Mailbox -AuditLog
Una vez creadas, comprobar que todo está correcto con los comandos:
get-mailbox -Arbitration get-mailbox -AuditLog get-mailbox "discovery*"
Finalmente, para la correcta gestión de la Libreta de Direcciones fuera de línea, es importante revisar los valores del parámetro PersistedCapabilities:
get-mailbox -arbitration | fl Identity,Name, PersistedCapabilities
Para que todo sea correcto, debe aparecer alguna cosa parecida a:
Name : SystemMailbox{1f05a927-69f6-48e0-9255-0e19b34a5069} PersistedCapabilities : {} Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9} PersistedCapabilities : {OrganizationCapabilityUMDataStorage} Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} PersistedCapabilities : {OrganizationCapabilityUMGrammarReady, OrganizationCapabilityPstProvider, OrganizationCapabilityMessageTracking, OrganizationCapabilityMailRouting, OrganizationCapabilityClientExtensions, OrganizationCapabilityGMGen, OrganizationCapabilityOABGen, OrganizationCapabilityUMGrammar} Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136 PersistedCapabilities : {OrganizationCapabilityManagement} Name : SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9} PersistedCapabilities : {} Name : FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 PersistedCapabilities : {}
Y los atributos correctos de msExchCapabilityIdentifiers:
get-mailbox -arbitration | %{Get-ADUser $_.distinguishedname -Properties *} |fl Name,msExchCapabilityIdentifiers
La respuesta correcta debe ser parecida a:
Name : SystemMailbox{1f05a927-69f6-48e0-9255-0e19b34a5069} msExchCapabilityIdentifiers : {} Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9} msExchCapabilityIdentifiers : {41} Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} msExchCapabilityIdentifiers : {46, 52, 51, 47, 44, 43, 42, 40} Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136 msExchCapabilityIdentifiers : {48} Name : SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9} msExchCapabilityIdentifiers : {} Name : FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 msExchCapabilityIdentifiers : {}
¡Ya volvemos a tener la base de datos operativa!
¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!
Similar Posts by The Author:
- Microsoft SQL Server con SMB3
- Microsoft SQL Server amb SMB3
- Containers en Linux
- Containers amb Linux
- Migrar el servidor de archivos a Windows Server 2019
- Migrar el servidor de fitxers a Windows Server 2019
- Puerta enlace a Azure en el Windows Admin Center
- Porta enllaç a Azure en el Windows Admin Center
- Hola mundo! WordPress 5 y Gutenberg
- Hola món! WordPress 5 i Gutenberg