メッセージ ストアに問題があるため、Message Queuing サービスを開始できません。

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

Knowledge Base article:

概要

メッセージ ストアに問題があるため、Message Queuing サービスを開始できません。

構成

コマンド ラインを使用して、Message Queuingのメッセージをバックアップおよび復元するには

コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

mqbkup {-bfolderpath | -rfolderpath| -?} [-y] [-cmsmq_resource_name]

 

説明

-bfolderpath

ファイルを指定されたフォルダーにバックアップします。

-rfolderpath

ファイルを指定されたフォルダーから復元します。

-y

メッセージを表示しません (質問にはすべて [はい] を使います)。

-cmsmq_resource_name

MSMQ をクラスター リソースとして構成した場合に使用されます。クラスター化された MSMQ リソース名を指定してください。

-?

ユーティリティのヘルプを表示します。

原因

メッセージ ストアによって、Message Queuing サービスで問題が発生した可能性があります。

解決方法

メッセージを復元する前に、コントロール パネルおよびすべてのMessage Queuing アプリケーション、または HKLM\Software\MSMQ\Parameters レジストリ キーに対してレジストリ キー ハンドルを開いたままにしているすべてのアプリケーションを閉じる必要があります。このようなアプリケーションには、通常、コンピューターの管理コンソール (Message Queuing スナップインが読み込まれている場合)、MSMQ トリガー サービス、Message Queuing サービス、および一部のサード パーティ アプリケーションが含まれています。

注:Windows XP 以上の場合はコントロール パネルを閉じなくてもかまいません。これに該当するバージョンの Windows には MSMQ コントロール パネル拡張が含まれていないからです。

その他の考慮事項

Active Directory ドメイン サービスに格納されているオブジェクトのバックアップまたは復元に、Mqbkup ユーティリティを使用することはできません。したがって、Mqbkup ユーティリティでパブリック キューをバックアップまたは復元することはできません。パブリック キューが Active Directory ドメイン サービスのオブジェクトであるためです。Mqbkup ユーティリティは、ローカル コンピューターに格納されている、パブリック キューによって参照されるMessage Queuingのメッセージをバックアップまたは復元しますが、パブリック キュー自体は、Mqbkup ユーティリティとは無関係にバックアップまたは復元する必要があります。

このユーティリティは、発信キュー内のものを含めて、回復可能なトランザクション メッセージをバックアップします。高速メッセージのバックアップと復元は行いません。

証明書と暗号化キー情報は、このユーティリティを使用してバックアップされません。

復元操作後に、新しいユーザー証明書を登録する必要があります。証明書の登録方法については、追加の参照資料を参照してください。

このユーティリティは、Message Queuing サービスを停止および再起動しますが、これにより、高速メッセージが失われます。高速メッセージの詳細については、追加の参照資料を参照してください。

COM+ アプリケーションがトリガーにバインドされているルールによって呼び出された場合、メッセージの復元は、"アクセスは拒否されました" エラーで失敗する場合があります。この問題を解決するには、次の手順に従います。

Windows Vista® コンピューターでは、ローカルの管理者特権で実行されているコマンド プロンプトから mqbkup を起動します。

MSMQ API を使用しているすべてのユーザー アプリケーションとサービスが停止していることを確認します。

それでもメッセージの復元が失敗する場合は、10 分間待ってから再試行してください。COM+ アプリケーションによって、すべてのオブジェクトのリリース後にメモリからアンロードされるのに、10 分ほどかかる可能性があります。

追加情報

詳細については、「Back Up and Restore Messages (メッセージをバックアップおよび復元する)」( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx) を参照してください。

詳細については、「Register Certificates for Message Queuing (Message Queuing 用の証明書を登録する)」( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx) を参照してください。

詳細については、「Message Delivery Methods (メッセージの配信方法)」( http://technet.microsoft.com/en-us/library/cc771721(WS.10).aspx) を参照してください。

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
メッセージ ストアに問題があるため、Message Queuing サービスを開始できません。
{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.Event2023" 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>2023</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.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>