O serviço de Enfileiramento de Mensagens não pode ser iniciado devido a um problema com o armazenamento de mensagens.

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

Knowledge Base article:

Resumo

O serviço de Enfileiramento de Mensagens não pode ser iniciado devido a um problema com o armazenamento de mensagens.

Configuração

Para fazer backup e restaurar mensagens do Enfileiramento de Mensagens usando uma linha de comando:

Em um prompt de comando, digite o seguinte e pressione ENTER:

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

 

Valor

Descrição

-bfolderpath

faz o backup dos arquivos para a pasta especificada.

-rfolderpath

restaura os arquivos da pasta especificada.

-y

não solicita respostas (sim para todas as perguntas).

-cmsmq_resource_name

usado quando o MSMQ está configurado como um recurso clusterizado, especifique o nome do recurso MSMQ clusterizado.

-?

exibe a ajuda para o utilitário.

Causas

O armazenamento de mensagens está causando problemas ao Serviço de Enfileiramento de Mensagens.

Resoluções

Antes de restaurar mensagens, é preciso fechar o Painel de Controle e todos os aplicativos do Enfileiramento de Mensagens ou qualquer aplicativo que mantém aberto um identificador de chave do Registro para a chave HKLM\Software\MSMQ\Parameters. Tais aplicativos incluem, tipicamente, o console do Gerenciamento do Computador, se o snap-in do Enfileiramento de Mensagens está carregado: o serviço de Gatilho do MSMQ, o serviço de Enfileiramento de Mensagens e alguns aplicativos de terceiros.

Observação: Fechar o painel de controle não é um problema no Windows XP e posteriores, pois essas versões do Windows não incluem uma extensão do painel de controle do MSMQ.

Considerações adicionais

O utilitário Mqbkup não pode ser usado para fazer backup ou restaurar objetos armazenados no Active Directory Domain Services. Portanto, o utilitário Mqbkup não poderá fazer backup ou restaurar as filas públicas já que estas são objetos nos Serviços de Domínio Active Directory. O utilitário Mqbkup faz backup e restaura as mensagens do Enfileiramento de Mensagens armazenadas no computador local que são referenciados pelas filas públicas, mas as filas públicas em si devem ser copiadas ou restauradas independentemente do utilitário Mqbkup.

Esse utilitário faz o backup de mensagens recuperáveis e transacionais, incluindo aquelas nas filas de saída. Ele não faz o backup nem restaura mensagens expressas.

Não é possível fazer o backup de informações de certificados e de chaves de criptografia usando esse utilitário.

Após uma operação de restauração, é preciso registrar um novo certificado de usuário. Para obter informações sobre como registrar um certificado, consulte Referências adicionais.

Esse utilitário é interrompido e reinicia o serviço de enfileiramento de mensagens, o que faz com que todas as mensagens expressas sejam perdidas. Para obter mais informações sobre mensagens expressas, consulte Referências adicionais.

Se um aplicativo COM+ for invocado por uma regra vinculada a um gatilho, restaurar mensagens poderá falhar por um erro de "acesso negado". Para solucionar essa questão, siga estas etapas:

Em computadores com o Windows Vista ®, inicie o mqbkup a partir de um prompt de comando executado com privilégios de Administrador local.

Verifique se todos os serviços e aplicativos de usuários usando a API do MSMQ foram interrompidos.

Se a restauração de mensagens ainda não funcionar, aguarde 10 minutos e tente novamente. Os aplicativos COM+ podem levar até 10 minutos para descarregar da memória após todos os objetos serem liberados.

Adicional

Para obter mais informações, veja Fazer backup e restaurar mensagens ( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx).

Para obter mais informações, consulte Registrar Certificados para o Enfileiramento de Mensagens ( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx).

Para obter mais informações, consulte Métodos de Entrega de Mensagens ( http://technet.microsoft.com/en-us/library/cc771721(WS.10).aspx).

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
O serviço de Enfileiramento de Mensagens não pode ser iniciado devido a um problema com o armazenamento de mensagens.
{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.10.0.Rule.Alert.Event2023" Enabled="false" Target="Microsoft.MSMQ.10.0.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>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.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.10.0.Rule.Alert.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>