MSMQ не может удалить или очистить очередь - PullRequest
12 голосов
/ 13 октября 2009

Я очень новичок в MSMQ. У нас есть критическая система, использующая MSMQ, и она не может запуститься из-за недостатка ресурсов. Похоже, что MSMQ на полную мощность. Я пытаюсь удалить сообщения (или даже удалить ненужные очереди), но при очистке я получаю следующую ошибку:

Невозможно удалить все сообщения из очереди. Ошибка: доступ к системе очереди сообщений запрещен.

Какие у меня варианты? Есть ли способ удалять очереди при выключенных сервисах?

Ответы [ 4 ]

14 голосов
/ 11 июня 2012

Есть более простой способ:

  • Открыть Управление компьютером на машине,
  • разверните узел Службы и приложения (Возможности 2008),
  • разверните службу очереди сообщений,
  • разверните папку личных очередей,
  • расширить личную очередь, с которой вы работаете,
  • щелкните правой кнопкой мыши папку сообщений очереди и
  • выберите опцию очистки.
8 голосов
/ 11 июля 2012

Я думаю, что есть проблема с правами.

Вы не можете дать права, затем выполните следующий шаг для принудительного удаления очереди.

  1. Прекратить следующие услуги
Message Queuing Triggers,
Net.Msmq Listener Adapter
Message Queuing.
  1. Перейдите в C: \ Windows \ System32 \ msmq \ storage \ lqs

  2. Теперь откройте файл в блокноте или блокноте ++ и

    см. Название очереди на QueueName=\private$\YourQueueName

  3. Перед удалением файла backup the file. Сейчас delete that file.

  4. Не удаляйте другой файл, в котором нет имени вашей очереди.

  5. Делайте это на свой страх и риск.

  6. Теперь начинайте следующие услуги

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

Этот трюк работает для меня ...

5 голосов
/ 13 октября 2009

Если вы откроете «Управление компьютером» на компьютере, разверните узел «Службы и приложения» («Возможности в 2008 году») и щелкните правой кнопкой мыши службу очереди сообщений.

Щелкните правой кнопкой мыши по параметру «Свойства» и откройте его на вкладке «Общие».

Вы можете указать ограничения хранения для сообщений - возможно, вы достигли верхнего предела для хранения сообщений. Если вы временно увеличите это значение, это может позволить вам вернуться в систему обмена сообщениями, чтобы вы могли очистить эти очереди и выполнить операцию восстановления.

В противном случае, если вы можете справиться с потерей сообщений (что, если вы пытаетесь удалить, я полагаю, это нормально), возможно, удалите очередь и создайте ее заново.

2 голосов
/ 13 октября 2009

Получите копию Queue Explorer - это коммерческое приложение, но пробная версия полностью функциональна и стоит на вес золота при отладке MSMQ http://www.cogin.com/mq/

Если у вас нет прав доступа, значит, у вас нет прав доступа! Вы администратор ящика? Если перейти к управлению компьютером и щелкнуть правой кнопкой мыши одну из ваших очередей privete и выбрать свойства, вы можете перейти на вкладку безопасности и отредактировать / просмотреть там разрешения?

...