U fronty služby MSMQ byla překročena kvóta úložiště. Ve frontě už nelze ukládat žádné další zprávy.

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

Knowledge Base article:

Souhrn

U fronty služby MSMQ byla překročena kvóta úložiště. Ve frontě už nelze ukládat žádné další zprávy.

Příčiny

Bylo dosaženo kvóty fronty služby Řízení front zpráv.

Řešení

Snížení počtu nevyřízených zpráv

Postup pro řešení tohoto problému:

Pokud do budoucna chcete tomuto problému předejít, měla by odesílající aplikace od počítače, do kterého zprávu odesílá, vyžadovat zprávu NACK (negative acknowledgement message). Pokud se do odesílající aplikace vrátí zpráva NACK, znamená to, že bylo dosaženo příslušné kvóty cílové fronty nebo počítače. Odesílající aplikace může zprávy přestat odesílat nebo může jejich zpracování přesměrovat do jiného cílového umístění. Odesílatel zprávy NACK a ACK vyžaduje programově. Další informace naleznete v tématu Reliable Messaging with MSMQ and .NET (Spolehlivé zasílání zpráv pomocí technologií MSMQ a .NET) ( http://go.microsoft.com/fwlink/?LinkID=95381).

K monitorování různých datových bodů souvisejících s příchozími a odchozími zprávami ve službě Řízení front zpráv můžete používat nástroj pro příkazový řádek Sledování výkonu.

Abyste mohli provést tento postup, musíte být členem skupiny Administrators nebo musíte mít delegované příslušné oprávnění.

Použití Sledování výkonu ke sledování dat:

Další informace

Další informace najdete v tématu o události s ID 2182 ( http://technet.microsoft.com/en-us/library/dd337533(WS.10).aspx).

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
U fronty služby MSMQ byla překročena kvóta úložiště. Ve frontě už nelze ukládat žádné další zprávy.
Popis události: {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>