El servicio de Message Queue no se puede iniciar debido a un problema con el almacén de mensajes.

Microsoft.MSMQ.6.3.Rule.Alert.Event2023 (Rule)

Knowledge Base article:

Resumen

El servicio de Message Queue no se puede iniciar debido a un problema con el almacén de mensajes.

Configuración

Para hacer copia de seguridad y restaurar los mensajes de Message Queue utilizando una línea de comando, realice lo siguiente:

En un símbolo del sistema, presione ENTER después de escribir:

mqbkup {-bfolderpath | -rfolderpath| -?} [-y] [-cmsmq_resource_name]

Â

Valor

Descripción

-bfolderpath

respalda los archivos de la carpeta especificada.

-rfolderpath

restaura los archivos de la carpeta especificada.

-y

sin aviso (sí a todas las preguntas)

-cmsmq_resource_name

se utiliza cuando MSMQ se configura como un recurso con clúster. Especifica el nombre de recurso de MSMQ con clúster.

-?

muestra ayuda para la utilidad.

Causas

El almacén de mensajes está ocasionando problemas en el servicio de Message Queue.

Resoluciones

Antes de restaurar los mensajes, debe cerrar el Panel de control y todas las aplicaciones de Message Queue o cualquier aplicación que mantenga abierto un identificador de clave de registro en la clave de registro de HKLM\Software\MSMQ\Parameters. Tales aplicaciones en general incluyen la consola de Administración de equipo si se carga el complemento de Message Queue, el servicio de activación de MSMQ, el servicio de Message Queue y otras aplicaciones de terceros.

Nota: Cerrar el panel de control no ocasionará problemas en Windows XP y versiones posteriores porque estas versiones de Windows no incluyen una extensión de panel de control de MSMQ control panel.

Consideraciones adicionales

•

La utilidad Mqbkup no se puede utilizar para respaldar o restaurar objetos almacenados en Servicios de dominio de Active Directory. Por lo tanto, la utilidad Mqbkup no puede respaldar o restaurar colas públicas ya que estas son objetos en Servicios de dominio de Active Directory. La utilidad Mqbkup sí respalda y restaura cualquier mensaje de Message Queue almacenado en el equipo local que esté referido por colas públicas, pero las colas públicas propiamente dichas deben respaldarse y restaurarse de manera independiente de la utilidad Mqbkup.

•

Esta utilidad respalda mensajes transaccionales y recuperables, incluidos aquellos mensajes en las colas salientes. No hace copias ni restaura mensajes rápidos.

•

La información clave de certificación y criptográfica no se respalda utilizando esta utilidad.

•

Luego de una operación de restauración, debe registrar un certificado de usuario nuevo. Para obtener información sobre cómo registrar un certificado, consulte las referencias adicionales.

•

Esta utilidad detiene y reinicia el servicio de Message Queue, lo que puede ocasionar que se pierda cualquier mensaje rápido. Para más información sobre mensajes rápidos, consulte las referencias adicionales.

•

Si una aplicación COM+ ha sido activada por una regla conectada a un desencadenador, es posible que al restaurar mensajes se produzca un error de "acceso denegado". Para solucionar este problema, siga estos pasos:

•

En equipos con Windows Vista®, inicie mqbkup desde un símbolo del sistema que se esté ejecutando con privilegios de administrador local.

•

Asegúrese de que todos los servicios y aplicaciones que estén utilizando la API de MSMQ estén detenidos.

•

Si la restauración de mensajes sigue fallando, espere 10 minutos y vuelva a intentarlo. Las aplicaciones COM+ pueden demorar hasta 10 minutos en descargarse desde la memoria luego de que todos los objetos se hayan liberado.

Adicional

Para obtener más información, consulte Respaldar y restaurar mensajes ( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx).

Para obtener más información, consulte Registrar certificados para Message Queue ( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx).

Para obtener más información, consulte Métodos de entrega de mensajes ( http://technet.microsoft.com/en-us/library/cc771721(WS.10).aspx).

Element properties:

TargetMicrosoft.MSMQ.6.3.Servers
CategoryAvailabilityHealth
EnabledFalse
Event_ID2023
Event Source$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
El servicio de Message Queue no se puede iniciar debido a un problema con el almacén de mensajes.
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2023" Enabled="false" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2023</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>