Cómo cambiar la ubicación de la base de datos de cola

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2009-01-27

Una cola es una ubicación temporal para hospedar mensajes que esperan a entrar en la próxima etapa de procesamiento. Cada cola representa un conjunto lógico de mensajes que procesa el servidor de transporte en un orden específico.

Microsoft Exchange Server 2007 usa una base de datos de Motor de almacenamiento extensible (ESE) para el almacenamiento de mensajes en colas. Anteriormente conocido como JET, ESE es el método que define una API de bajo nivel en las estructuras de la base de datos subyacente en Exchange Server. Todas las colas se almacenan en una base de datos ESE única. Las colas sólo existen en los servidores que tienen instaladas las funciones del servidor Transporte de concentradores y Transporte perimetral.

Antes de empezar

Para llevar a cabo los siguientes procedimientos, la cuenta que utilice debe delegar lo siguiente:

  • Función Administrador de Exchange Server y grupo Administradores local del servidor de destino

Para ejecutar los siguientes procedimientos en un equipo que tiene instalada la función del servidor Transporte perimetral, debe iniciar sesión mediante una cuenta que sea miembro del grupo local de administradores en dicho equipo.

Para obtener más información sobre los permisos, la delegación de funciones y los derechos necesarios para administrar Microsoft Exchange Server 2007, consulte Consideraciones sobre permisos.

Cambio de la ubicación de la base de datos de cola

La ubicación de la base de datos se controla mediante el parámetro QueueDatabasePath en el archivo de configuración de aplicación EdgeTransport.exe.config que se ubica en el directorio C:\Archivos de programa\Microsoft\Exchange Server\Bin. Puede usar los dos métodos siguientes para cambiar la ubicación de la base de datos de cola:

  • Utilice el script Move-TransportDatabase.ps1

    Exchange 2007 Service Pack 1 (SP1) incluye un nuevo script que se puede emplear para cambiar la ubicación de los archivos de la base de datos de transporte y del registro de transacciones. Este script también mueve los archivos de bases de datos a la nueva ubicación especificada. Es importante tener en cuenta los elementos siguientes a la hora de utilizar el script Move-TransportDatabase.ps1 para mover los archivos de bases de datos:

    • Si la unidad de destino es diferente de la unidad de origen, debe haber suficiente espacio disponible en la unidad de destino. El script requiere 2 gigabytes (GB) más el espacio necesario para mover el archivo de base de datos o los archivos del registro de transacciones existentes.

    • El parámetro QueueDatabasePath no puede tener el mismo valor que el parámetro IPFilterDatabasePath.

    • El parámetro QueueDatabaseLoggingPath no puede tener el mismo valor que el parámetro IPFilterDatabaseLoggingPath.

    • Si la ruta de destino no existe, el script crea automáticamente la ruta apropiada.

    • El archivo EdgeTransport.exe.config existente se guarda automáticamente como EdgeTransport.exe.config.yyyyMMddHHmmss.old

  • Mueva manualmente los archivos de bases de datos

    Aunque se aconseja utilizar el script Move-TransportDatabase.ps1 para mover los archivos de bases de datos de transporte, también puede moverlos manualmente. La siguiente lista describe algunos elementos importantes a considerar a la hora de cambiar la ubicación de la base de datos de cola:

    • Si no existe el directorio de destino, éste se creará si el directorio principal tiene los siguientes permisos aplicados al mismo:

      Servicio de red: Control total

      Sistema: Control total

      Administradores: Control total

    • Los archivos de la base de datos de cola existentes Mail.que y Trn.chk no se mueven. Los nuevos archivos de la base de datos de cola se crean en la nueva ubicación una vez que ha guardado el archivo de configuración de aplicación EdgeTransport.exe.config y reiniciar el servicio de transporte Microsoft Exchange. Los archivos de la base de datos existente se conservan en la antigua ubicación. No obstante, ya no se usan.

    • Si desea cambiar la ubicación de la base de datos de cola pero reutiliza los archivos de la base de datos de cola existentes, debe mover o copiar los archivos de la base de datos cuando el servicio de transporte de Microsoft Exchange se detiene.

Traslado de la base de datos de cola a una nueva ubicación

Para utilizar el script Move-TransportDatabase.ps1 para mover la base de datos de cola a una nueva ubicación

  1. Inicie el Shell de administración de Exchange.

  2. En el símbolo del Shell, ejecute el comando siguiente. Sustituya <destination path> por una ruta apropiada, por ejemplo, E:\Exchange\Transport\Queue.

    Move-TransportDatabase.ps1 -QueueDatabasePath: <destination path> 
    

Creación manual de una nueva base de datos de cola en una nueva ubicación

Para crear una nueva base de datos de cola en una nueva ubicación

  1. Abra el siguiente archivo mediante Notepad:

    C:\Archivos de programa\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config.

  2. Modifique la siguiente línea en la sección de <appSettings>:

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    Por ejemplo, para crear una nueva ubicación para los registros de transacciones en la ubicación "C:\Queue\QueueDB", modifique el parámetro QueueDatabasePath de la forma siguiente:

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  3. Guarde y cierre el archivo EdgeTransport.exe.config.

  4. Reinicie el servicio de transporte de Microsoft Exchange.

  5. Compruebe que los nuevos archivos Mail.que y Trn.chk se crean en la nueva ubicación.

  6. Quite los archivos Mail.que y Trn.chk de su ubicación original.

Reutilización manual de una base de datos de cola existente en una nueva ubicación

Para reutilizar una base de datos de cola existente en una nueva ubicación

  1. Cree el directorio en el cual desea mantener la base de datos de cola. Asegúrese de que se aplican los permisos correctos al directorio.

  2. Abra el siguiente archivo mediante Notepad: C:\Archivos de programa\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config.

  3. Modifique la siguiente línea en la sección de <appSettings>:

    <add key="QueueDatabasePath" value="<LocalPath>" />
    

    Por ejemplo, para cambiar la ubicación a "C:\Queue\QueueDB", modifique el parámetro QueueDatabasePath del siguiente modo:

    <add key="QueueDatabasePath" value="C:\Queue\QueueDB" />
    
  4. Guarde y cierre el archivo EdgeTransport.exe.config.

  5. Detenga el servicio de transporte de Microsoft Exchange.

  6. Copie los archivos Mail.que y Trn.chk desde la ubicación original a la nueva ubicación.

  7. Inicie el servicio de transporte de Microsoft Exchange.

  8. Quite los archivos Mail.que y Trn.chk de su ubicación original.

Cambio de la ubicación de los archivos de transacción de la base de datos de cola

La ubicación de los archivos de transacción de la base de datos de cola se controla mediante el parámetro QueueDatabaseLoggingPath en el archivo de configuración de aplicación de EdgeTransport.exe.config. Puede usar los dos métodos siguientes para cambiar la ubicación de los archivos de registros de transacciones:

  • Utilice el script Move-TransportDatabase.ps1.

    Exchange 2007 Service Pack 1 (SP1) incluye un nuevo script que se puede emplear para cambiar la ubicación del archivo de la base de datos de transporte y del registro de transacciones. Este script también mueve los archivos de registro de transacciones a la nueva ubicación especificada. En la lista siguiente se describen algunos elementos importantes que deben tenerse en cuenta a la hora de utilizar el script Move-TransportDatabase.ps1 para mover los archivos de bases de datos:

    • Si la unidad de destino es diferente de la unidad de origen, debe haber suficiente espacio disponible en la unidad de destino. El script requiere 2 GB más el espacio necesario para mover el archivo de la base de datos o los archivos del registro de transacciones existentes.

    • El parámetro QueueDatabasePath no puede tener el mismo valor que el parámetro IPFilterDatabasePath.

    • El parámetro QueueDatabaseLoggingPath no puede tener el mismo valor que el parámetro IPFilterDatabaseLoggingPath.

    • Si la ruta de destino no existe, el script crea automáticamente la ruta apropiada.

    • El archivo EdgeTransport.exe.config existente se guarda automáticamente como EdgeTransport.exe.config.yyyyMMddHHmmss.old

  • Mueva manualmente los archivos de bases de datos

    Aunque se aconseja utilizar el script Move-TransportDatabase.ps1 para mover los archivos de registro de transacciones de transporte, también puede moverlos manualmente.

    La siguiente lista describe algunos puntos importantes sobre cómo cambiar la ubicación de los registros de transacción de la base de datos de cola:

    • Si no existe el directorio de destino, éste se creará si el directorio principal tiene los siguientes permisos aplicados al mismo:

      Servicio de red: Control total

      Sistema: Control total

      Administradores: Control total

    • Los archivos existentes de registro de transacción de la base de datos de cola Trn.log, Trntmp.log, Trnnnn.log, Trnres00001.jrs, Trnres00002.jrs y Temp.edb no se mueven. Los nuevos registros de transacción de la base de datos de cola se crean en la nueva ubicación una vez que ha guardado el archivo de configuración de aplicación EdgeTransport.exe.config y reiniciado el servicio de transporte de Microsoft Exchange. Los archivos de registro de transacción existentes se conservan en la antigua ubicación. No obstante, ya no se usan.

    Nota

    Temp.edb se usa para comprobar el esquema de la base de datos de cola cuando el servicio de transporte de Microsoft Exchange se inicie. Aunque Temp.edb no es un archivo de registro de transacción, se mantiene en la misma ubicación que los archivos de registro de transacción.

Traslado de los archivos de registro de transacciones a una nueva ubicación

Para utilizar el script Move-TransportDatabase.ps1 para mover los archivos de registro de transacciones a una nueva ubicación

  1. Inicie el Shell de administración de Exchange.

  2. En el símbolo del Shell, ejecute el comando siguiente. Sustituya <destination path> por una ruta apropiada, por ejemplo, E:\Exchange\Transport\Queue.

    Move-TransportDatabase.ps1 -QueueDatabaseLoggingPath: <destination path>
    

Creación manual de nuevos registros de transacción de cola en una nueva ubicación

Para crear nuevos registros de transacción de la base de datos de cola en una nueva ubicación

  1. Abra el siguiente archivo mediante Notepad:

    C:\Archivos de programa\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config.

  2. Modifique la siguiente línea en la sección de <appSettings>:

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    Por ejemplo, para crear una nueva base de datos de cola en la ubicación "C:\Queue\QueueLogs", modifique el parámetro QueueDatabaseLoggingPath del siguiente modo:

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  3. Guarde y cierre el archivo EdgeTransport.exe.config.

  4. Reinicie el servicio de transporte de Microsoft Exchange.

  5. Compruebe que los nuevos archivos Trn.log, Trntmp.log, Trnres00001.jrs, Trnres00002.jrs y Temp.edb se crean en la nueva ubicación.

  6. Quite los archivos Trn.log, Trntmp.log, Trnnnn.log, Trnres00001.jrs, Trnres00002.jrs y Temp.edb de la ubicación original.

Reutilización manual de registros de transacción de cola existentes en una nueva ubicación

En circunstancias normales, no debería reutilizar los archivos de transacción existentes en una nueva ubicación. Un cierre ordinario del servicio de transporte de Microsoft Exchange confirma todas las entradas de registro de transacción no confirmadas en la base de datos de cola. Se usa el registro circular. Por lo tanto, no se conservan los registros de transacción que contienen los cambios de la base de datos previamente confirmados. Sólo las situaciones de recuperación ante desastres en las que el servicio de transporte de Microsoft Exchange no se cerró correctamente o en las que se produjo un error de disco duro necesitarán que restaure y reubique una base de datos de cola existente y sus registros de transacción existentes.

Para reutilizar un registro de transacción de base de datos de cola existente en una nueva ubicación

  1. Cree el directorio donde desee mantener los registros de transacción de la base de datos de cola. Asegúrese de que se aplican los permisos correctos al directorio.

  2. Abra el siguiente archivo mediante Notepad: C:\Archivos de programa\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config.

  3. Modifique la siguiente línea en la sección de <appSettings>:

    <add key="QueueDatabaseLoggingPath" value="<LocalPath>" />
    

    Por ejemplo, para cambiar la ubicación a "C:\Queue\QueueLogs", modifique el parámetro QueueDatabaseLoggingPath del siguiente modo:

    <add key="QueueDatabaseLoggingPath" value="C:\Queue\QueueLogs" />
    
  4. Guarde y cierre el archivo EdgeTransport.exe.config.

  5. Detenga el servicio de transporte de Microsoft Exchange.

  6. Copie los archivos Trn.log, Trntmp.log, Trnnnn.log, Trnres00001.jrs, Trnres00002.jrs y Temp.edb existentes en la nueva ubicación.

  7. Inicie el servicio de transporte de Microsoft Exchange.

  8. Quite los archivos Trn.log, Trntmp.log, Trnnnnn.log, Trnres00001.jrs, Trnres00002.jrs y Temp.edb de la ubicación original.

Para obtener más información

Para obtener más información acerca de la base de datos de cola, vea Administrar la base de datos de cola (en inglés).

De forma predeterminada, el script Move-TransportDatabase.ps1 se encuentra ubicado en la siguiente carpeta de un equipo basado en Exchange 2007 SP1:

%ProgramFiles%\Microsoft\Exchange Server\Scripts

Este script acepta los siguientes parámetros:

  • -QueueDatabasePath

  • -QueueDatabaseLoggingPath

  • -IPFilterDatabasePath

  • -IPFilterDatabaseLoggingPath

  • -TemporaryStoragePath

Para mover los archivos de la base de datos de transporte o del registro de transacciones, el script realiza las acciones siguientes:

  1. El script valida los valores de los parámetros:

    • El script omite la validación si la ruta de destino especificada es la misma que la ruta de origen.

    • Los valores de QueueDatabasePath y IPFilterDatabasePath no pueden ser iguales. Esto se debe a que ambas ubicaciones contienen archivos Trn.chk.

    • Los valores de QueueDatabaseLoggingPath y IPFilterDatabaseLoggingPath no pueden ser iguales. Esto sucede porque los archivos de registro tienen el mismo nombre de archivo.

    • El script comprueba que hay disponibles 2 GB más un espacio igual al tamaño de los archivos que van a copiarse. Por ejemplo, debe existir un espacio igual a 2 GB más el tamaño de los archivos Mail.que, Trn.chk y Ipfiltering.edb.

    Nota

    El script omite la comprobación del espacio de los archivos si la ruta de destino está en la misma unidad que los archivos de origen.

  2. El script crea carpetas, si así lo requiere.

    • El script crea las carpetas de destino, si es necesario.

    • Si el grupo Administradores, la cuenta del sistema local o la cuenta de servicios de red no tiene permisos de control total a la ruta de destino, el script agrega estos permisos.

    • Si el grupo Administradores, la cuenta del sistema local o la cuenta de servicios de red tiene una regla para denegar el acceso a la ruta de destino, el script genera un mensaje de advertencia. En este escenario, el script no existe.

  3. El script detiene el servicio MSExchangeTransport.

  4. El script realiza una copia de seguridad del archivo EdgeTransport.exe.config y lo nombra como EdgeTransport.exe.config.yyyyMMddHHmmss.old.

  5. El script mueve los siguientes archivos a la ruta de destino, tal como corresponde para el comando utilizado:

    • QueueDatabasePath: Mail.que, Trn.chk

    • IPFilterDatabasePath: IPFiltering.edb, Trn.chk

    • Ruta de acceso a registros: Trn*.log, Trnres00001.jrs, Trnres00002.jrs, Temp.edb

  6. El script actualiza el archivo EdgeTransport.exe.config y, a continuación, guarda los cambios del archivo.

  7. El script inicia el servicio MSExchangeTransport.