Nie można uruchomić usługi kolejkowania komunikatów z powodu problemu z magazynem komunikatów.

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

Knowledge Base article:

Podsumowanie

Nie można uruchomić usługi kolejkowania komunikatów z powodu problemu z magazynem komunikatów.

Konfiguracja

Aby utworzyć kopię zapasową i przywrócić komunikaty usługi kolejkowania komunikatów za pomocą wiersza polecenia

W wierszu polecenia wpisz następujące polecenie i naciśnij klawisz Enter:

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

 

Wartość

Opis

-bfolderpath

tworzy kopię zapasową plików w określonym folderze

-rścieżka_folderu

przywraca pliki z określonego folderu

-y

nie monituj (odpowiedź „tak” na wszystkie pytania)

-cnazwa_zasobu_usługi_msmq

parametr używany, gdy usługa MSMQ jest skonfigurowana jako zasób klastrowany; określa nazwę klastrowanego zasobu usługi MSMQ

-?

wyświetla pomoc narzędzia

Przyczyny

Magazyn komunikatów powoduje problemy z usługą kolejkowania komunikatów.

Rozwiązania

Przed rozpoczęciem przywracania komunikatów należy zamknąć Panel sterowania oraz wszystkie aplikacje kolejkowania komunikatów lub aplikacje korzystające z otwartego dojścia do klucza rejestru HKLM\Software\MSMQ\Parameters. Do takich aplikacji należą: konsola Zarządzanie komputerem, jeśli przystawka kolejkowania komunikatów jest załadowana, usługa wyzwalaczy usługi MSMQ, usługa kolejkowania komunikatów oraz niektóre aplikacje innych firm.

Uwaga: zamknięcie Panelu sterowania w systemie Windows XP i nowszych nie jest problemem, ponieważ nie zawierają one rozszerzenia usługi MSMQ w Panelu sterowania.

Dodatkowe rozważania

Narzędzia Mqbkup nie można używać do tworzenia kopii zapasowych ani przywracania obiektów zapisanych w usłudze Active Directory Domain Services. Z tego względu narzędzia Mqbkup nie można używać do tworzenia kopii zapasowej ani przywracania kolejek publicznych, ponieważ są one obiektami zapisanymi w Usługach domenowych w usłudze Active Directory. Narzędzie Mqbkup umożliwia tworzenie kopii zapasowych lub przywracanie wskazywanych przez kolejki publiczne komunikatów usługi kolejkowania komunikatów zapisanych na komputerze lokalnym, jednak niezależnie od narzędzia Mqbkup należy utworzyć kopię zapasową samych kolejek publicznych lub je przywracać.

Narzędzie to tworzy kopie zapasowe komunikatów możliwych do odzyskania oraz komunikatów transakcyjnych — także tych, które znajdują się w kolejkach wychodzących. Nie umożliwia ono tworzenia kopii zapasowych ani przywracania komunikatów ekspresowych.

Za pomocą tego narzędzia nie można także utworzyć kopii zapasowej informacji o certyfikatach i kluczach kryptograficznych.

Po operacji przywracania należy zarejestrować nowy certyfikat użytkownika. Aby uzyskać informacje dotyczące sposobu rejestrowania certyfikatu, zobacz sekcję Dodatkowe informacje.

To narzędzie zatrzymuje i ponownie uruchamia usługę kolejkowania komunikatów, co powoduje utratę komunikatów ekspresowych. Aby uzyskać informacje dotyczące komunikatów ekspresowych, zobacz sekcję Dodatkowe informacje.

Po wywołaniu aplikacji modelu COM+ przez regułę powiązaną z wyzwalaczem przywracanie komunikatów może zakończyć się niepowodzeniem z błędem „dostęp jest zabroniony”. Aby rozwiązać ten problem, wykonaj następujące czynności:

Na komputerach z systemem Windows Vista® uruchom narzędzie mqbkup z wiersza polecenia z uprawnieniami administratora lokalnego.

Upewnij się, że zatrzymano wszystkie aplikacje i usługi użytkownika korzystające z interfejsu API usługi MSMQ.

Jeśli przywracanie komunikatów będzie nadal niemożliwe, poczekaj 10 minut i spróbuj ponownie. Usuwanie z pamięci aplikacji modelu COM+ po zwolnieniu wszystkich obiektów może potrwać maksymalnie 10 minut.

Dodatkowe informacje

Więcej informacji znajduje się w artykule Back Up and Restore Messages (Tworzenie i przywracanie kopii zapasowych komunikatów) ( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx).

Więcej informacji znajduje się w artykule Register Certificates for Message Queuing (Rejestrowanie certyfikatów usługi kolejkowania komunikatów) ( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx).

Więcej informacji znajduje się w artykule Message Delivery Methods (Metody dostarczania komunikatów) ( 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
Nie można uruchomić usługi kolejkowania komunikatów z powodu problemu z magazynem komunikatów.
{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>