U fronty služby MSMQ byla překročena kvóta úložiště. Ve frontě už nelze ukládat žádné další zprávy.
Bylo dosaženo kvóty fronty služby Řízení front zpráv.
Snížení počtu nevyřízených zpráv
Postup pro řešení tohoto problému:
Snižte počet nevyřízených zpráv pod prahovou hodnotu kvóty tím, že zpracujete stávající zprávy ve frontě. Zajistěte, aby byly zprávy zpracovávány rychleji, než jak jsou zařazovány do fronty. Může být třeba dodatečný hardware nebo změna v architektuře řešení.
Můžete také zvýšit konkrétní kvótu fronty. Další informace o kvótách front služby Řízení front zpráv naleznete v článku 899612 znalostní báze Microsoft Knowledge Base ( http://go.microsoft.com/fwlink/?LinkID=107359).
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:
Otevřete příkazový řádek. Chcete-li otevřít příkazový řádek, klikněte na tlačítko Start. Do vyhledávacího pole zadejte cmd a stiskněte klávesu Enter.
Na příkazovém řádku zadejte příkaz Perfmon a stiskněte klávesu Enter.
Ve stromu konzoly klikněte v části Nástroje pro sledování na možnost Sledování výkonu.
V podokně podrobností přidejte monitorování kliknutím na zelené znaménko plus (+).
Na kartě Přidat čítače klikněte v části Čítače na znaménko plus (+) u služby MSMQ.
Podle potřeby vyberte vhodné čítače.
Klikněte na tlačítko Přidat a poté na tlačítko OK.
Další informace najdete v tématu o události s ID 2182 ( http://technet.microsoft.com/en-us/library/dd337533(WS.10).aspx).
Target | Microsoft.MSMQ.10.0.Servers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<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>