Ejecutar ESEUTIL.exe en una base de datos montada

 

Que tal amigos,

 

 

En esta sencilla publicación les vengo a compartir algo que no es nuevo, pero por alguna razón sigue siendo desconocido por muchas personas. Veremos como podemos utilizar comandos eseutil mientras la base de datos sigue montada en Exchange Server (Coff coff, tambien conocido como el poderoso Exchangiiiiiiiii).

 

Historicamente estamos acostumbrados que para poder ejecutar comandos de eseutil.exe (Extensible Storage Engine Utility) nuestra base de datos debe estar desmontada. Este argumento es correcto, pero solamente para versiones 2010 SP2 o previas. En SP3 de Exchange 2010 y versiones posteriores es posible comprobar por ejemplo el estado de salud de una base de datos mientras esta sigue montada haciendo uso de parametros nativos de la herramienta eseutil

 

 

Para mas información sobre Eseutil visiten este articulo de TechNet

 

 

En la siguiente imagen podemos validar mediante el comando: Get-MailboxDatabaseCopyStatus que nuestra base de datos Changoleon se encuentra desmontada. Razón por la cual podemos ejecutar sin mayor problema el comando: Eseutil /mh changoleon.edb y ver el estatus de la base el cual es Clean Shutdown

1

 

 

 

Sin embargo, si monto la base de datos e intento volver a validar el estatus que tiene con el mismo comando: eseutil /mh changoleon.edb recibire un error de acceso, esto debido a que la base de encuentra actualmente bloqueada y en uso por el information store

2

 

 

 

Pues bien, Recuerden la palabra magica 2010 Service Pack 3. Por que es a partir de esta versión de Exchange que aun teniendo la base de datos montada ustedes podra ejecutar eseutil.

 

 

Ennnnntonces….El comando que necesitaremos es el siguiente:

 

eseutil /mh “su base de datos.edb” /vss /vssrec “Prefijo de logs” “Ruta de los logs”

En mi escenario en particular el comando queda de la siguiente manera:

eseutil /mh changoleon.edb /vss /vssrec E00

.

.

Donde:

/MH = Nos dara el File Dump en el cual podemos validar el estatus de la base (Dirty Shutdown o Clean Shutdown)

/VSS = Indica que se usara un snapshot de la base de datos

/VSSREC = Creara el volume shadow de la base de manera temporal y permitira que de ahi se lea la información

E00 = Prefijo de la base de datos (este dato sera distinto en sus bases de datos, dependiendo del orden de creación de su base, ej E00, E01, E02 etc)

.

.

En mi caso particular los logs y el.edb se encuentran en la misma ruta: C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Changoleon. Es por eso que no fue necesario que indicara la ruta del prefijo E00. Si sus logs se encuentra en otra ruta deberan indicarla

.

.

En pocas palabras lo que se hace es crear un rapido snapshot vss de la base de datos para que sea verificada, mientras que la base original sigue teniendo escritura y lectura a disco, de esta forma no se interrumpe con las labores de MSExchangeIs. 

.

.

En estricta teoria, estos parametros son para realizar copias de la base de datos mientras esta ejecutandose. Pero le daremos un uso distinto, el cual ya mencionamos :D. Una vez ejecutado el comando. Podemos validar que inmediatamente comienza la inicialización del VSS

3

.

.

Despues de un par de segundos, podemos comprobar el resultado y ver el estatus de la base de datos. El cual efectivamente sigue siendo Clean shutdown

 4

.

.

¡Felicidades! Acaban de aprender a validar el estado de salud de una base de datos de Exchange mientras sigue montada. Dense una palmadita en la espalda y coman una galleta como premio, se lo han ganado

.

.

Lo prometido es deuda. Esta publicación se la dedico a mis muchachones: Deja, Lalo,Victor, Elias, Ivan, Jesus y Carlos. A quienes tuve el gusto de impartirles sesiones de Exchange Server mientras eran becarios. Comienzan su camino dentro de las misticas artes del Poderoso Exchangiiiiiiiii. Les deseo mucho exito y un prospero futuro profesional. Sigan aprendiendo 🙂

image3

.

Por Geovany Acevedo

.

Coman Frutas y verduras


Artículos relacionados

 Comentarios 4 comentarios

  • Alexander dice:

    buenas tardes
    una pregunta y si la base de datos se muestra State: Dirty Shutdown como hago para dejarla Clean shutdown? ya que tengo un caso así gracias

  • Alexnder Rodriguez dice:

    BUea noche ..

    Ejecute el procedimiento de recupercion: eseutil /p nombreDB.edb
    Al validar la base quedo el estado: eseutil /mh nombreDB.edb en state estaba: Dirty Shutdown
    Ejecute limpieza de logs: eseutil /R E01 /i /d
    Valide que log: eseutil /ml “ruta logs”
    Todo salio OK ..

    Pero al montar sale Dirty shutdown la DB.. ya realice eseutil /d — eseutil /r –> pero no permite hacer nada por que la DB esta Dirty Shutdown ..
    Que mas puedo hacer, como forzó a su reparación o su montaje ??

    • Hola Alex,

      Tendras que desmontar la base de datos y ejecutar un hard repair mediante: /p. Parece ser que tienes un problema de inconsistencia entre tu .edb y los logs (como siempre, procura tener un backup previo a ejecutar los comandos)

  • Deja un comentario

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