Quota di archiviazione superata per la coda MSMQ. Impossibile archiviare altri messaggi nella coda.

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

Knowledge Base article:

Riepilogo

Quota di archiviazione superata per la coda MSMQ. Impossibile archiviare altri messaggi nella coda.

Cause

È stata raggiunta la quota della coda di Accodamento messaggi.

Soluzioni

Ridurre il numero di messaggi in sospeso

Per risolvere il problema:

Per evitare questo problema in futuro, l'applicazione di provenienza deve richiedere riconoscimenti negativi (NACK) dal computer al quale invia messaggi. Se all'applicazione di provenienza viene restituito un NACK che indica che la quota per la coda o computer di destinazione è stata raggiunta, l'applicazione di provenienza può interrompere l'invio di messaggi oppure scaricare i messaggi ad un'altra destinazione. Nack e Ack sono richiesti in maniera programmatica dal mittente. Per altre informazioni, vedere Messaggistica affidabile con MSMQ e .NET ( http://go.microsoft.com/fwlink/?LinkID=95381).

È possibile usare lo strumento da riga di comando perfmon per monitorare vari punti di dati correlati ai messaggi in ingresso e in uscita in Accodamento messaggi.

Per eseguire questa procedura, è necessario appartenere al gruppo Administrators oppure avere ricevuto in delega l'autorità appropriata.

Per utilizzare perfmon per il monitoraggio dei dati:

Informazioni aggiuntive

Per altre informazioni, vedere l'ID evento 2182 ( http://technet.microsoft.com/it-it/library/dd337533(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Quota di archiviazione superata per la coda MSMQ. Impossibile archiviare altri messaggi nella coda.
Descrizione evento: {0}
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2182" 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 Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2182</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2182.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>