Como desfragmentar una base de Exchange 2003.

En est anota explicare brevemente como realizar un defrag de una base de datos de Exchange Server 2003. Para ello utilizaremos la herramienta ESEUTIL que sirve para todas las versiones de Exchange Server.

El proceso de desfragmentación de discos reorganiza los datos almacenados en los discos duros del equipo para que los archivos sean más contiguos. La desfragmentación ayuda a mejorar la velocidad de acceso y recuperación de los datos. Al desfragmentar los discos duros, puede aumentar el rendimiento de los mismos y ayudar a que los servidores de la organización funcionen de manera más sencilla y eficaz.
Puede emplear la utilidad Eseutil para desfragmentar el almacén de información y el directorio en Microsoft Exchange Server 5.5, y para desfragmentar el almacén de información en Microsoft Exchange 2000 Server y en Microsoft Exchange Server 2003. La utilidad puede ejecutarse en una base de datos cada vez desde la línea de comandos.

Existen dos tipos de desfragmentacion posibles: con conexión y sin conexión.

Desfragmentación con conexión

La desfragmentación con conexión de las bases de datos de Exchange se realiza automáticamente como parte del proceso de mantenimiento de las bases de datos. La desfragmentación con conexión detecta y quita los objetos de base de datos que ya no se utilizan. Este proceso proporciona más espacio de base de datos sin cambiar el tamaño del archivo de base de datos. De forma predeterminada, Exchange está configurado para ejecutar diariamente la desfragmentación con conexión entre 01:00 y 05:00. Es recomendable ejecutar los procesos de mantenimiento y copia de seguridad para que se ejecuten a distintas horas por un tema de performance.

Para programar la desfragmentación de bases de datos, utilice uno de los métodos siguientes:

  • Para programar la desfragmentación de una base de datos individual, utilice la opción Intervalo de mantenimiento de la ficha Base de datos de un almacén de buzones o de un objeto de almacén de carpetas públicas para configurar el intervalo de mantenimiento.
  • Para programar la desfragmentación de base de datos para una serie de almacenes de buzones y de almacenes de carpetas públicas, utilice la opción Intervalo de mantenimiento de la ficha Base de datos (Directiva) de una directiva de almacén de buzones o de almacén de carpetas públicas para configurar el intervalo de mantenimiento.
Desfragmentación sin conexión

Aunque la desfragmentación con conexión proporciona cierto espacio de base de datos adicional, debe desfragmentar la base de datos de Exchange sin conexión para reducir el tamaño físico de la base de datos de Exchange. Eseutil es una utilidad de Exchange que puede emplear para desfragmentar, reparar y examinar la integridad de las bases de datos de Exchange. Puede emplear la utilidad Eseutil (Eseutil.exe) para realizar la desfragmentación sin conexión cuando los almacenes de buzones y los almacenes de carpetas públicas estén sin conexión.
Por ejemplo, puede realizar la desfragmentación sin conexión si ha movido recientemente muchos usuarios de un servidor que está ejecutando Exchange. En ese caso, la desfragmentación sin conexión reduce el tamaño de las bases de datos de Exchange reorganizando los datos de esas bases de datos de Exchange del servidor y descartando las páginas no usadas de las bases de datos.
Nota: Eseutil se encuentra en la carpeta Winnt\System32 en Exchange Server 5.5, y en la carpeta Exchsrvr/Bin en Exchange 2000 y en Exchange 2003.
De forma predeterminada, el comando Eseutil /d desfragmenta una base de datos creando una nueva base de datos, copiando los registros de la base de datos anterior a la nueva y descartando las páginas no utilizadas de la base de datos. Esto crea un archivo de base de datos compacto recién organizado.
Utilice el modificador siguiente de base de datos para ejecutar la desfragmentación de Eseutil en una base de datos concreta:

eseutil /d NombreDeBaseDeDatos [options]

donde NombreDeBaseDeDatos es el nombre de archivo de la base de datos que desea compactar.
Puede ejecutar Eseutil con la opción /d /p en la línea de comandos para configurar Eseutil con el fin de crear la nueva base de datos desfragmentada en una ubicación independiente, como una ubicación de un disco duro diferente. Si desactiva la creación de instancias, el proceso de desfragmentación sin conexión conserva la base de datos original sin compactar y el archivo temporal que se crea es la versión desfragmentada de la base de datos. Por ejemplo, podría desactivar la creación de instancias utilizando la opción /d /p. A diferencia del proceso de desfragmentación sin conexión estándar (Eseutil /d), si ejecuta Eseutil con la opción /d /p, la base de datos original no se sobrescribe con la nueva base de datos desfragmentada cuando el proceso de desfragmentación sin conexión se completa.
La opción /d /p también puede reducir considerablemente el tiempo necesario para desfragmentar bases de datos grandes porque no copia la base de datos desfragmentada desde la ubicación temporal y no sobrescribe el archivo fragmentado original. Sin embargo, si desea montar la base de datos desfragmentada después de utilizar esta opción, debe mover manualmente los archivos .edb y .stm desfragmentados a la ruta de acceso de la base de datos y cambiarles el nombre por los nombres de archivo de base de datos correctos.
Por ejemplo, si Tempdfg.edb y Tempdfg.stm son los archivos desfragmentados que creó ejecutando la opción /d /p, debe cambiar su nombre a Priv1.edb y Priv1.stm respectivamente si Priv1.edb y Priv1.stm son las bases de datos en las que ejecutó originalmente Eseutil. El comando de ejemplo siguiente desfragmenta una base de datos denominada Almacén de buzones.edb y el archivo de secuencias que lo acompaña, desactiva la creación de instancias y crea las bases de datos desfragmentadas en la unidad D. Observe que hay ningún espacio en blanco después de /t.

eseutil /d /p “c:\archivos de programa\exchsrvr\mdbdata\almacén de buzones.edb” /t “d:\tempdfg.edb”

Nota: Si no utiliza la opción /t, los archivos Tempdfgxxxx.edb y Tempdfgxxxx.stm se crean en la ubicación desde la que ejecuta Eseutil. En los nombres de archivo anteriores, xxxx es un número aleatorio.
Además, quizás desee utilizar las opciones siguientes al usar Eseutil para desfragmentar las bases de datos de Exchange:

image

Nota El archivo Tempdfrg.edb se crea en la unidad lógica desde la que se ejecuta el comando eseutil /d, a menos que utilice el modificador /t. Por ejemplo, para crear un archivo Tempdfrg.edb en la raíz de la unidad D, ejecute el comando siguiente:

D:\>eseutil /d /ispriv

También puede utilizar el modificador /t para establecer el nombre de la base de datos temporal y una ubicación diferente. Por ejemplo, para crear un archivo Ejemplo.edb en la raíz de la unidad D cuando está ejecutando el comando eseutil desde la unidad C, ejecute el comando siguiente:

C:\>eseutil /d /ispriv /td:\Ejemplo.edb

Nota: Si la creación de instancias está deshabilitada, la base de datos original se conservará sin compactar y la base de datos temporal contendrá la versión desfragmentada de la base de datos. Por ejemplo, la creación de instancias se deshabilita cuando utiliza la opción /p.

Desfragmentación de una base de datos de Exchange 2000 o de Exchange 2003

Para desfragmentar una base de datos de Exchange 2000 o de Exchange 2003, siga estos pasos:

1. En el Administrador del sistema de Exchange, haga clic con el botón secundario en el almacén de información que desea desfragmentar y, a continuación, haga clic Desmontar el almacén.

2. En un símbolo del sistema, escriba los comandos siguientes y presione ENTRAR después de cada uno:

cd Exchsrvr\Bin

eseutil /d

Incluya un modificador de base de datos y cualquier opción que desee utilizar.

Por ejemplo, el comando siguiente ejecuta la utilidad de desfragmentación estándar en una base de datos del almacén del buzón:

C:\archivos de programa\exchsrvr\bin>eseutil /d c:\archiv~1\exchsrvr\mdbdata\priv1.edb

Espero que les sea de utilidad. Para mas informacion: Links. Roberto Di’Lello.

Acerca del autor: Roberto Di Lello

Hola, soy Roberto Di Lello trabajo como Consultor Senior en Infraestructura, especializado en Tecnologias Microsoft con mas de 25 años en la industria. He sido galardonado como MS-MVP en Active Directory-Enterprise Mobility por 10 años, y actualmente soy MVP Windows Insider, ademas de poseer otras certificaciones de Microsoft. He trabajado en distintos projectos que involucran Migraciones, Implementaciones, y soporte de Active Directory y Microsoft Exchange, y en los ultimos años me he desempeñado armando equipos de trabajo para diferentes paises y areas de sistemas, he planificado a distintas migraciones a datacenters (ambiente cloud y mixtos). He tenido la oportunidad de participar como miembro del staff de Microsoft en eventos internacionales como ser TechEd NorteAmerica y MS Ignite (NA) al ser Trainer Certificado por Microsoft (MCT).

You May Also Like

23 Comments

  1. El proceso de desfragmentacion con conexion que se ejecuta cada noche, me da un mensaje de informacion(1221); que despues del proceso me quedan 746 MB de espacio libre en la BD. Cuando la bd fisica ocupa 22GB y el espacio de la BD es de (50GB). Esto me pasa tanto en carpetas publicas como el los buzones.
    Se refiere a la misma BD de 50GB? o hay alguna BD para ladesfragmentacion?

    Gracias por tu atencion

    Tomeu Serra

  2. Tomeu, recibi tu mensaje en el dia de mañana te estare respondiendo. Saludos y disculpa la demora. Roberto.

  3. Necesito por favor me indiquen precisamente como compactar el archivo priv1.edb de mis server exchange 2003, ademas como desmontarlo. Lo mas detallado posible. Muchas Gracias

  4. Buenas, despues de leer tu nota al respecto, quiero desfragmentar sin conexion la BD exchange 2003 y a su vez quiero direccionar los archivos temporales a otro disco con mas capacidad. Puede estar bien este comando? realizaria lo que yo pretendo?
    C:\Archivos de Programa\exchsrvr\bin>eseutil /d /p X:\donde esta el\priv1.edb /ty:\donde crea un temporal\temp.edb /fy:\donde crea un temporal\temp.stm

    Y: puede ser una unidad de disco removible?, puede infulir la velocidad del proceso?

  5. Buenas; fijate que quiero defragmentar la base datos de exchange en otro discco duro y luego copiar la nueva base de datos desfragmentada al disco de produccion; es esto posible y me traera alguna consencuencia.

  6. Que tal, tengo una duda con los archivos .edb y .stm.
    Actualmente estamos ocupando Exchange Server 2003 Standard y mi archivo priv1.edb pesa 17 gb mientras que el archivo priv1.stm pesa 45 gb. Mi consultas son:
    Porqué se produce esta diferencia de estos archivos?
    Qué guarda cada archivo?
    Cómo puedo reducir el archivo .stm?
    Lo que pasa es que se está llenando mi servidor de correo y el archivo .stm esta aumentando demasiado.
    Gracias por las respuestas.

  7. Marcelo, la forma de reducir el tamaño es desfragmentar la base. Para ello te recomiendo ver la nota en detalle y consultar tambien esta otra de la KB de Microsoft:

    Cómo desfragmentar con la herramienta ESEUTIL (Eseutil.exe) http://support.microsoft.com/kb/192185

    tambien te recomiendo ver esta nota, que no es tu caso pero tambien te va a aclarar un poco el panorama Exchange Server 2003 mailbox store does not mount when the mailbox store database reaches the 16-GB limit http://support.microsoft.com/kb/828070/en-us

    Saludos. Roberto.

  8. Buenas tardes Roberto.

    Primero: Felicitarte nuevamnete por los articulos publicados. Muy utiles.
    Segundo: Contarte un poco acerca de un problemita que se me esta presentando. Tengo un MTA con Exchange, pero éste se encuentra casi al tope.
    He estado leyendo y puedo odptar por dos opciones, la primera es desfragmentar y la segunda es mover la base de datos de Exchange cambiando la ubicacion de los archivos .edb y .stm. Pero esto no es lo que realmente estoy buscando.

    Lo que quiero es manejar la base de datos de Exchange con MySQL; les comento que mis busquedas no han resultado muy favorebles. Agradezco de antemano cualquier información que me puedan brindar (link, HowTo, Manuales, entre otros).

    Espero tenga un agradable día.

  9. Thiney, muchas gracias por el apoyo.

    Te cuento la recomendacion en cuanto a exchange es tener 3 particiones distintas, en discos distintos, distribuidos de la siguiente manera: 1 SO y aplicaciones, 2 Logs de Exchange, y 3 DBs de Exchange.

    Lo que comentas de administrar las bases de exchange con MySQL es imposible, no se puede hacer con MS SQL y mucho menos con MySQL. Las bases son propietarias de Exchange.

    Lo mejor seria desfragmentar y ejecutar periodicamente los jobs de manteniento de las DBs.

    Saludos. Roberto.

  10. Estimado Roberto saludos desde Guayaquil.

    Tengo el siguiente problema.

    Tengo exchange 2003 standard. que esta quedandose sin espacioen disco y su base de datos pesa 78gb. quiero desfragmentarla en otro disco puedo hacerlo con este comando:

    M:\Exchsrvr\bin>eseutil.exe /d m:\rutaactual\priv1.edb /t z:\nuevaruta\backup.edb

  11. Washington, asi es. Igualmente leete la nota de la KB, y previamente has un backup por cualquier inconveniente que pueda surgir.

    Si puedes tambien podes probarlo en un laboratorio.

    Saludos. Roberto.

  12. Hola Roberto,

    Te agadezco de antemano tu atención a este mensaje.

    Verás, tengo un mensaje en Exchange que me dice :Information Store (2400) Primer grupo de almacenamiento: La base de datos C:\Archivos de programa\Exchsrvr\mdbdata\priv1.edb alcanzó el tamaño máximo de 16383 MB. Si no es posible reiniciar la base de datos, puede realizar una desfragmentación sin conexión para reducir su tamaño.

    Tego entendido que es el tamaño por defecto pero me gustaría saber como ampliar este tamaño o si en realidad la solución es desframentar sin Conexion???

    Saludos,

    Marjorie Toruño
    Nicaragua

  13. MArjorie, muchas gracias por colaborar con el blog y participar en el comentando una nota.

    Te cuento que hay un límite de 16 GB en la edición Standard. Esto significa que ni el Priv1.edb o Priv1.stm puede superar el tamaño de 16 GB sin que el servicio se cierre.

    Lo que vas a necesitar hacer es que alguno de tus usuarios eliminen mails que no utilicen. Esto no significa borrarlos sino que puedes generar un archivo PST en la estacion de trabajo de cada usuario, de esta forma agilizaras tambien el funcionamiento del exchange.

    Saludos, Roberto.

  14. estimados, muy bueno sus consejos, pero tengo el siguiente problemas, hemos estado borrando muchos usuarios de una BD de exchange 2003 sobre cluster MS la BD pesa solo 10 GB pero al ejecutar el eseutil este se cae y me genera un un hdmp en el c:

    Cual sera la causa de este problema

    Rodrigo

  15. Estimado Roberto.

    Excelente artículo, muy util. Te cuento, hoy estaba haciendo la desfragmentacion de mi Exchange y segui exactamente los pasos de la herramienta Eseutil, pero no logré reducir el tamaño del archivo priv1.edb; mi pregunta es si con la desfragmentacion se lograria reducir o hay algo más que necesite hacer? Actualmente el archivo tiene un poco más de 28 GB de espacio.

    Agradezco tu ayuda. Un saludo.

  16. David, muchas gracias por participar del blog.

    Te cuento que Exchange 2003 desfragmenta la base de datos cada noche. Pero sólo es una desfragmentación en línea (online) de la base de datos. Una desfragmentación en linea no reduce el tamaño del Information Store.

    Para reducir el tamaño de las bases de datos, debes utilizar una desfragmentación sin conexión (offline).

    Saludos.

  17. Hola Roberto. Espero que me ayudes.

    Tengo montado un Exchange Versión: 6.5.7638.1 en un Server 2003 R2 Standard SP2.

    En el visor de sucesos da el error: “Almacén de Exchange ‘Primer grupo de almacenamiento\Almacén del buzón: El tamaño lógico de esta base de datos (el tamaño lógico es igual al tamaño físico del archivo .edb y el archivo .stm menos el espacio libre lógico en cada uno) es 19 GB. Esta base de datos ha excedido el tamaño límite de 18 GB”.

    Priv1.mdb = 21.9 Gb
    Pub1.mdb = 19 Mb
    Priv1.stm = 582 Mb
    Pub1.stm = 2 Mb
    Los buzones se están limpiando y están limitados pero sigue el mismo problema. Tengo que reiniciar con frecuencia por las mañanas el servicio “Microsoft Exchange – Almacén de informaciónAdemás” Además, al sumar el tamaño de los buzones el resultado es muy inferior a 21.9 Gb (aprox. 15 Gb).
    ¿Aparte de hacer la desfragmentación offline se podría aumentar el límite de tamaño en esta versión de Exchange? ¿O hay que actualizarse a otra versión?

    Muchisimas gracias

  18. Hola: muy buena la nota, me queda una duda, si tengo 10 bases de diferentes tamaños (de 1gb a 30 gb), se recomienda hacer la defragmentacion online en diferentes horarios para que no se superpongan o la defragmentacion online por mas que se superponga se hace bien?. Cada cuanto es conveniente hacerla la defragmentación online ? (todos los días o cada tanto), creo que se me complicaría si tengo que hacer todas el mismo día ya que no me daría el tiempo.

  19. Lucs, disculpa mi demora en contestar pero estuve medio complicado con los tiempos.

    Generalmente no es necesario hacer muchas desfragmentaciones offline, ya que igualmente se va haciendo un mantenimiento de las DBs. EN mi caso, las veces que tuve que hacerlo fue debido a errores. Mas que nada teniendo en cuenta la complicacion de dejar sin servicio a los usuarios.

    Aprovecho la oportunidad para agradecerte por participar del blog y ayudar a que siga creciendo! Te cuento que hay mucho material en el.

    Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitas ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Saludos!

Comments are closed.