Exchange Servers es una aplicación crítica para la empresa que requiere revisiones y mantenimiento periódicos para garantizar su correcto funcionamiento. Exchange Server puede desplegarse de forma autónoma o en un grupo de disponibilidad de bases de datos que proporcione resiliencia del sitio y protección automática frente a fallos de la base de datos.
Get-MailboxDatabaseCopyStatus es uno de los varios comandos de PowerShell que puede utilizar para controlar el estado de replicación de las bases de datos en todos los servidores miembros de un grupo de disponibilidad de bases de datos.
Puede utilizar el cmdlet para asegurarse de que tanto las copias activas como pasivas de la base de datos están sincronizadas. Esto ayuda a evitar la pérdida de datos y el tiempo de inactividad cuando se produce un desastre o le ocurre algo al sitio o servidor principal. El cmdlet de PowerShell funciona en Exchange Server 2010, 2013, 2016 y 2019.
Sintaxis de Get-MailboxDatabaseCopyStatus
A continuación se muestra la sintaxis de Get-MailboxDatabaseCopyStatus.
Get-MailboxDatabaseCopyStatus
-Server <MailboxServerIdParameter>
[-Active]
[-DomainController <Fqdn>]
[-ExtendedErrorInfo]
[-UseServerCache]
[<CommonParameters>] [
-Activo]
[-DomainController <Fqdn>]
[-ExtendedErrorInfo]
[-UseServerCache]
[<CommonParameters>].
Puede utilizar el comando para recopilar información sobre una base de datos específica de su infraestructura o para obtener información de todo el servidor.
Exploremos los parámetros de este comando.
-Servidor o -Identidad
Este parámetro le permitirá especificar el nombre del servidor del que recuperar la información. Si desea especificar una base de datos concreta en un servidor específico, deberá sustituir el parámetro -server por -Identity y especificar la base de datos/servidor.
-Activo
Este parámetro devolverá la información relativa al estado de copia de la base de datos activa.
-Controlador de dominio
En este parámetro, debe especificar el controlador de dominio que utilizará para leer o escribir los datos de Active Directory. Debe especificar el controlador de dominio completo (FQDN) del servidor, por ejemplo, activedirectory01.midominio.lan.
-UseServerCache
Este parámetro especifica si se habilita el estado de caché de llamada a procedimiento remoto (RPC) del lado del servidor durante 5 segundos.
¿Cómo utilizar el comando “Get-MailboxDatabaseCopyStatus“?
Debe tener los permisos adecuados para ejecutar el cmdlet Get-MailboxDatabaseCopyStatus. Si no sabe qué permisos o asignaciones de funciones son necesarios, puede ejecutar el siguiente comando.
Get-ManagementRole -Cmdlet Get-MailboxDatabaseCopyStatus
Este comando le proporcionará los roles que necesita para ejecutar el comando.
Si necesita permisos completos en función de los parámetros, debe especificar los parámetros (como se indica a continuación) y separar cada parámetro con una coma.
Get-ManagementRole -Cmdlet Get-MailboxDatabaseCopyStatus -CmdLetParamaters extendederrorinfo, useServerCache
Una vez obtenida la información correcta, es necesario activar el permiso para que el usuario ejecute el cmdlet. Para ello, abra el Centro de administración de Exchange (EAC), haga clic en Permisos y, a continuación, en Roles de administrador.
Se sugiere crear un nuevo rol llamado GetMailboxCopyStatus y establecer los permisos necesarios y asignar los usuarios.
Una vez que esté listo, podrás ejecutar el comando.
Al ejecutar el comando, puede encontrarse con muchos errores. Los más comunes son:
- Fallido
- Arrastrándose
- Estado Desconocido
- Fracasado y suspendido
- Error en el índice de contenidos
Una de las cosas que puede hacer para solucionar problemas, antes de ejecutar nada, es comprobar:
- No funciona ningún servicio
- Hay mucho espacio
- No hay problemas de conectividad
- No hay problemas de conectividad con el Directorio Activo
Lo siguiente que hay que hacer es ejecutar los siguientes comandos, en función de la infraestructura.
En un grupo de disponibilidad de bases de datos (DAG), ejecute el siguiente comando en los índices afectados para obtener el estado de error.
Get-MailboxDatabase Nombre de la base de datos | Get-MailboxDatabaseCopyStatus | Select Name,*index*
Ejecute el comando de reparación para ver si se soluciona el problema.
Update-MailboxDatabasecopy <base de datos> <servidor> -sourceserver <servidor> -catalogonly
Dependiendo del tamaño de la base de datos y del rendimiento del servidor, este procedimiento puede llevar algún tiempo.
En el caso de un servidor autónomo, debe seguir el procedimiento que se indica a continuación.
Abra el símbolo del sistema o PowerShell y ejecute los siguientes comandos:
Stop-Service MSExchangeFastSearch
Stop-Service HostControllerService
Ahora, vaya a la ubicación de la base de datos y busque la carpeta que tiene el nombre con el nombre GUID largo y elimine la carpeta. Esto eliminará el índice de contenido de la base de datos. Una vez hecho esto, es necesario iniciar los servicios de nuevo.
Iniciar servicio MSExchangeFastSearch
Iniciar servicio HostControllerService
Transcurridos unos minutos, se volverá a crear la carpeta y se reconstruirá el índice de contenidos.
Conclusión
Esto es sólo un ejemplo, ya que cada estado necesitará que se realice el procedimiento requerido para intentar mitigar el problema. Si todo falla y la base de datos activa no puede recuperarse del problema, la replicación entre la copia pasiva y la activa (o viceversa) no se producirá. Si se produce un fallo en el servidor o una conmutación por error, es posible que se produzcan pérdidas de datos.
Para recuperarse rápidamente de este tipo de situaciones, puede confiar en una aplicación certificada que le sacará de una situación complicada y recuperará la base de datos de su buzón de correo sin pérdida de datos. Stellar Repair for Exchange es una de esas aplicaciones que puede abrir cualquier archivo de base de datos de Exchange Server en estado sano, dañado o sucio apagado. Puede explorarlo y exportar los datos a PST y otros formatos de archivo. La aplicación también exporta los datos EDB directamente a una base de datos de Exchange Server activa.
Was this article helpful?