2009-10-13 12 views
12

Jestem bardzo nowy w MSMQ. Mamy krytyczny system używający MSMQ i nie można go uruchomić z powodu niewystarczających zasobów. Wygląda na to, że MSMQ ma pojemność. Próbuję usunąć wiadomości (a nawet usunąć niepotrzebne kolejki), ale podczas czyszczenia pojawia się następujący błąd:MSMQ nie może usunąć lub usunąć kolejki

Nie można usunąć wszystkich wiadomości z kolejki. Błąd: dostęp do systemu kolejkowania wiadomości jest zabroniony.

Jakie są moje opcje? Czy istnieje sposób usuwania kolejek, gdy usługi są wyłączone?

+0

Ok, wydaje się, że prawa do poszczególnych kolejek jakoś zmienić. Nadal próbuję to rozgryźć. –

Odpowiedz

5

Jeśli otworzysz Zarządzanie komputerem na komputerze, rozwiń węzeł Usługi i aplikacje (Funkcje w 2008 roku) i kliknij prawym przyciskiem myszy usługę Usługa kolejkowania wiadomości.

Kliknij prawym przyciskiem myszy opcję Właściwości i otwórz ją w zakładce Ogólne.

Możesz określić limity przechowywania wiadomości - być może przekroczyłeś górny limit przechowywania wiadomości. Jeśli tymczasowo zwiększysz tę wartość, może ona powrócić do systemu przesyłania komunikatów, aby można było usunąć te kolejki i przywrócić działanie.

Jeśli to nie pomoże, jeśli możesz poradzić sobie z utratą wiadomości (które, jeśli próbujesz oczyścić, zakładam, że jest w porządku), może usuń kolejkę i odtwórz ją.

+0

Tak, po podniesieniu przydziału dla usługi mogłem uzyskać dostęp do kolejki. Chociaż wydaje mi się, że problem występował również w tym samym miejscu, w którym konto, z którego korzystałem, również stracił prawa, ale usługa próbująca odczytać kolejkę miała prawa i mogła to zrobić po zwiększeniu kwoty. To było na MSMQ 2.0 btw. –

2

zdobyć kopię kolejki Explorer - jest to aplikacja komercyjna, ale proces jest w pełni funkcjonalny i warto na wagę złota podczas debugowania MSMQs http://www.cogin.com/mq/

Jeżeli nie masz uprawnień choć wtedy don nie mają uprawnień! Jesteś administratorem skrzynek? Jeśli przejdziesz do zarządzania komputerem i klikniesz prawym przyciskiem myszy na jedną z twoich kolejek privete i zaznaczysz właściwości, czy uzyskasz dostęp do karty bezpieczeństwa i zmienisz/zobaczysz tam uprawnienia?

+2

Używam programu Queue Explorer. Nie wierzę, że to są prawa do konta, mogłem dodawać/usuwać/usuwać kolejki w przeszłości. Wydaje się to być związane z tym, że kolejki są zbyt pełne. –

14

Jest łatwiejszy sposób:

  • Otwórz Zarządzanie komputerem na komputerze,
  • rozwinąć Usługi i aplikacje węzeł (funkcje na 2008),
  • rozwinąć usługi kolejkowania wiadomości,
  • rozwiń prywatny folder kolejek,
  • rozwiń kolejkę prywatną, z którą pracujesz,
  • kliknij prawym przyciskiem myszy na bałagan w kolejce folder wieku i
  • kliknij opcję czyszczenia.
8

Myślę, że jest kwestia praw.

Nie możesz podać uprawnień, a następnie wykonaj następujące czynności, aby wymusić usunięcie kolejki.

  1. Zatrzymaj następujące usługi
Message Queuing Triggers, 
Net.Msmq Listener Adapter 
Message Queuing. 
  1. Przejdź do katalogu C: \ Windows \ System32 \ msmq \ przechowywania \ LQS

  2. Teraz otwórz plik w Notatniku lub Notepad ++ i

    zobacz nazwę kolejki pod adresem QueueName=\private$\YourQueueName

  3. Przed usunięciem pliku backup the file. Teraz delete that file.

  4. Nie usuwaj innych plików, które nie mają nazwy kolejki.

  5. Wykonywać te czynności jako własne ryzyko.

  6. Teraz uruchom następujące usługi

Message Queuing Triggers, 
Net.Msmq Listener Adapter 
Message Queuing. 

Praca ta sztuczka dla mnie ...

+0

Po stwierdzeniu, że miałem problem, w którym aplikacja utworzyła 3 prywatne kolejki, ale nie miałem do nich dostępu, mimo że moje konto znajduje się w grupie lokalnego administratora, spróbowałem powyższego sugerowanego rozwiązania, ale nieco innego. Zamiast tworzyć kopie zapasowe i usuwać pliki, zmieniłem ich nazwę, dodając rozszerzenie ".save". Po ponownym uruchomieniu wszystkich usług MSMQ kolejki zostały wymienione jako brakujące lub nie można uzyskać do nich dostępu w Zarządzanie komputerem. Wyłączyłem usługi MSMQ, przeniosłem pliki z katalogu, uruchomiłem usługi MSMQ, a teraz kolejki rzeczywiście zniknęły. – STLDeveloper

Powiązane problemy