MSMQ sırası için depolama kotası aşıldı. Sırada daha fazla ileti depolanamıyor.
Message Queuing sırasının kotasına ulaşıldı.
Bekleyen ileti sayısını azaltma
Bu sorunu gidermek için:
Bekleyen ileti sayısını sıranın kota eşiğinin altına düşürmek için sıradaki varolan iletileri işleyin. İletilerin sıraya alındıklarından daha hızlı bir şekilde işlendiğini onaylayın. Bu, ek donanım veya çözüm mimarisinde değişiklikler gerektirebilir.
İlgili sıranın kotasını da artırabilirsiniz. Message Queuing sıra kotaları hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki 899612 sayılı makaleye bakın ( http://go.microsoft.com/fwlink/?LinkID=107359).
Gelecekte bu sorundan kaçınmak için gönderen uygulamanın ileti gönderdiği bilgisayardan olumsuz alındı bildirimleri (NACK) istemesi gerekir. Gönderen uygulamaya Olumsuz Alındı Bildirimi döndürülürse ve bildirim hedef sıra veya bilgisayarın kotasına ulaşıldığını belirtirse, gönderen uygulama ileti göndermeyi durdurabilir veya iletileri başka bir konuma boşaltabilir. Gönderen tarafından programlı olarak Olumsuz Alındı Bildirimleri ve Alındı Bildirimleri istenir. Daha fazla bilgili için bkz. MSMQ ve .NET ile Güvenilir Mesajlaşma ( http://go.microsoft.com/fwlink/?LinkID=95381).
Message Queuing'de gelen ve giden iletilerle ilgili çeşitli veri noktalarını izlemek için perfmon komut satırı aracını kullanabilirsiniz.
Bu işlemi gerçekleştirmek için Administrators içinde üyeliğiniz olması veya gerekli yetkiyi devralmış olmanız gerekir.
Verileri izlemek üzere perfmon'u kullanmak için:
Komut istemi açın. Komut istemi açmak için Başlat'a tıklayın. Arama kutusuna cmd yazın ve ardından ENTER tuşuna basın.
Komut isteminde Perfmon yazın ve ardından ENTER tuşuna basın.
Konsol ağacında, İzleme Araçları'nın altında, Performans İzleyicisi'ne tıklayın.
Ayrıntılar bölmesinde izleyiciyi eklemek için yeşil artı işaretine (+) tıklayın.
Sayaç ekle sekmesinde, Sayaçlar altında, MSMQ Hizmeti'nin yanındaki artı işaretine (+) tıklayın.
İhtiyacınız olan uygun sayaçları seçin.
Ekle'ye tıklayın ve ardından Tamam'a tıklayın.
Daha fazla bilgi için bkz. Olay Kimliği 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>