Mover la base de datos de colas manualmente| Queue Database

 

 

Que tal amigos,

 

En esta publicación les mostrare como pueden de forma manual mover la base de datos de colas o message queue database dentro de Exchange Server (Coff Coff también conocido como el Poderoso Exchangiiiiiiiii)

 

Esto en caso que en alguna ocasión se encuentren con el problema que no pueden ejecutar el script: .\Move-TransportDatabase.ps1 y no tienen tiempo para estar reparandolo

ScreenHunter_173 Oct. 07 21.45

 

 

 

Un poco de conocimiento básico:

¿Que es el message queue database?

 

 

Visualmente encontrado como Mail.que y También conocido como Transport Database, es la base de datos donde se almacenan de forma temporal los mensajes antes de ser enviadas a su destino. Utiliza ESE, el mismo motor que una base de datos de buzones (Mailbox Database). Así que comparte prácticamente la misma estructura de base de datos (.edb, .jrs, .chk….). En otras palabras, es el lugar fisico donde se almacenan los mensajes mientras están en queue (cola de correo)

 

 

 

¿Que es un queue?

Technet: Es una ubicación de almacenamiento temporal para mensajes que estan en espera de una siguiente etapa de procesamiento. Cada Queue representa un conjunto lógico de mensajes que un servidor de transporte procesa en un orden especifico. Los queues solo existen en los servidores HUB y Edge (versiones 2007 y 2010) o en el rol de Mailbox y Edge (Versiones 2013 en adelante)

 

 

 

¿Por qué moveríamos la base de datos del Queue?

 

Por varias razones:

  • Podría ser por que el tamaño de Mail.que (queue database) esta incrementando de forma anormal, Aunado a modificar los valores MaxDumpsterSizePerStorageGroup y PipelineTracingEnable, mover el queue en ocasiones es parte de la solución
  • Podría ser que se esta aplicando contrapresión (BackPressure) a nuestro servidor y eso esta impidiendo el flujo de correo o las bases de datos estan desmontadas
  • Podría ser que simplemente queremos tener el mail.que en un otro volumen
  • Se cambiara el disco fisico o la LUN donde se encuentra el mail.que

 

 

 

No entraremos en detalles de cada una de estas razones. La finalidad de esta publicación es mostrar cómo mover el mail.que de forma manual sin perder la información que sigue pendiente a ser procesada, es decir, que los archivos que están en ese momento encolados, sean liberados y no tengamos que lidiar con 2 mail.que distintos.

 

 

 

Aquí viene la parte engañosa, mucha gente acostumbra al momento de mover manualmente el mail.que:

 

  • Detener el servicio de transporte y mover la información del mail.que a otra ubicación y volver a reiniciar el servicio de transporte. ¡ERROR! esto lo que provocara es que la información que había en cola, se quede en el archivo viejo, se genere un nuevo mail.que y terminemos con dos queue database.

 

  • Detener el servicio de transporte, editar la ubicación del mail.que  y reiniciar el servicio de transporte. Es algo un poco más acercado sin embargo, estaríamos nuevamente dejando el viejo mail.que flotando en otra ubicación mientras que otro mail.que es generado

 

 

 

En ambos escenarios terminariamos con el siguiente resultado:

queue

 

Vamos a ponerle diversión a esta publicación, Supongamos que un administrador JR de Exchange intento ejecutar el script de move-transportdatabase.ps1, le dio errores y después de unas horas, decidio mover manualmente la ruta del queue database empleado alguno de los metodos arriba mencionados.

Al día siguiente, se nos informa que los usuarios han reportado varios correos que no llegaron. Al revisar detectamos que tenemos un mail.que nuevo y un mail.que viejo de 500+MBs (imagen de arriba) Aqui tenemos un problema y  los correos que se reportan como perdidos probablemente se encuentran en el mail.que viejo.

 

 

 

Después de organizar una ventana de mantenimiento, nos aseguramos que el mail.que nuevo este totalmente liberado (no hay correos encolados). Necesitamos recuperar la información del mail.que viejo y a su vez dejarlo en una nueva ubicación como unico mail.que

 

 

 

Los pasos a seguir son los siguientes:

  1. Creamos un directorio en donde tendremos el nuevo Queue database. En mi caso la nueva ruta sera: D:\Data\Queue

 

  1. queue2

 

 

 

 

2) Abrimos un notepad como administrador y dentro de notepad daremos clic en Archivo>Abrir

ScreenHunter_162 Oct. 07 20.29ScreenHunter_163 Oct. 07 20.29

 

 

 

 

3) Navegaremos a la ruta de los binarios de Exchange. La ruta predeterminada es: C:\Program Files\Microsoft\Exchange Server\V15\Bin\. Dentro de esta ubicación encontraremos el archivo de configuración EdgeTransport.exe.config (Si no lo pueden localizar, asegurense de modificar la busqueda a All Files. Notepad intentara buscar por File Documents (*.txt) )ScreenHunter_164 Oct. 07 20.31

 

 

 

 

4) Abrimos el archivo de configuración EdgeTransport.exe.config y localizaremos los valores:

“QueueDatabasePath” value=”<Ruta>” />

“QueueDatabaseLoggingPath” value=”Ruta” />

 

 

En nuestro escenario, esta fue la ruta que dejo el administrador jr:

ScreenHunter_165 Oct. 07 20.37

 

 

 

 

5) Modificaremos la ruta tanto para el QueueDatabasePath como para el QueueDatabaseLoggingPath a la ruta del directorio que previamente creamos en el paso 1. ( D:\Data\Queue).

ScreenHunter_167 Oct. 07 20.41

 

 

 

 

 

6) Guardamos los cambios y cerramos el archivo de configuración edgetransport.exe.config

 

 

 

 

7) Detenemos el servicio de Transporte

ScreenHunter_168 Oct. 07 20.44

 

 

 

 

 

8) Antes de iniciar el servicio de transporte, recuerden que la información no sera movida a la nueva ubicación, sino se volvera a crear un nuevo mail.que. Lo que debemos hacer ahora es mover manualmente los archivos de la ubicación vieja a la nueva

ScreenHunter_169 Oct. 07 20.54

 

En la imagen podemos validar que los archivos fueron movidos a la ubicación nueva

 

 

 

 

9) Finalmente reiniciamos el servicio de Transporte

ScreenHunter_170 Oct. 07 20.56

 

 

 

 

 

10) Listo, ahora podran ver que no se genero un nuevo mail.que sino que se sigue trabajando sobre el existente. Notaran que se agrego un archivo de tmp.edb al momento de iniciar el servicio de transporte, esto es esperado. Flujo restaurado, Los correos que quedaron pendientes por ser enviados seran procesados y lo mejor de todo: Solo tenemos un mail.que

ScreenHunter_172 Oct. 07 21.09

 

 

Finalmente podemos en nuestro escenario eliminar el mail.que que genero el administrador jr (el mail.que que se encontraba activo al momento de recuperar la información del mail.que viejo)

 

 

 

¡Felicidades! Han aprendido a mover la base de datos del queue reutilizando el mail.que existente de forma manual. Dense una palmadita en la espalda y coman una galleta como premio. Se la han ganado

 

 

Por Geovany Acevedo

 

 

Coman frutas y verduras


Artículos relacionados

Deja un comentario

Tu dirección de correo no será publicada. Los campos con * son obligatorios.