訊息佇列服務資源無法繫結至叢集 IP 位址。

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

Knowledge Base article:

摘要

訊息佇列服務資源無法繫結至叢集 IP 位址。

原因

實體節點中的 MSMQ 服務必須具備叢集感知功能。如果服務沒有叢集感知功能,則會使訊息佇列資源無法在此節點上線。

如果在電腦成為伺服器叢集的成員之前,實體節點中執行的 MSMQ 服務即已啟動,就會發生此問題。也就是說,在實體節點中執行的 MSMQ 服務會接聽電腦的所有 IP 位址,並阻止訊息佇列資源接聽叢集 IP 位址。

解決方法

若要執行此程序,您必須有 [系統管理員] 中的成員資格,或者必須已獲委派適當的權限。

重新啟動 MSMQ 服務

若要重新啟動 MSMQ 服務:

驗證

您可以使用容錯移轉叢集管理來判斷訊息佇列叢集資源是否上線,或者您可以使用 Cluster.exe 工具來判斷 Windows Failover Clustering 是否已安裝且正在執行。

其他

如需詳細資訊,請參閱事件識別碼 2168 ( http://technet.microsoft.com/en-us/library/dd337422(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
訊息佇列服務資源無法繫結至叢集 IP 位址。
{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.Event2168" 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>2168</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.Event2168.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>