MSMQ无法删除或清除队列

时间:2009-10-13 15:39:26

标签: msmq

我对MSMQ很新。 我们有一个使用MSMQ的关键系统,由于资源不足,它无法启动。似乎MSMQ有能力。 我正在尝试清除消息(甚至删除不必要的队列),但在清除时收到以下错误:

无法删除队列中的所有邮件。 错误:拒绝访问消息队列系统。

我有什么选择?有没有办法在服务关闭时删除队列?

4 个答案:

答案 0 :(得分:14)

有一种更简单的方法:

  • 在计算机上打开计算机管理,
  • 展开“服务和应用程序”节点(2008年的功能),
  • 展开消息队列服务,
  • 展开私人队列文件夹
  • 展开您正在使用的私人队列,
  • 右键单击队列消息文件夹和
  • 点击清除选项。

答案 1 :(得分:8)

我认为有权利问题。

您无法提供权限,请执行以下步骤以强行删除队列。

  1. 停止关注服务
  2. Message Queuing Triggers,
    Net.Msmq Listener Adapter
    Message Queuing.
    
    1. 转到C:\ Windows \ System32 \ msmq \ storage \ lqs

    2. 现在在记事本或记事本++和

      中打开文件

      查看QueueName=\private$\YourQueueName

    3. 的队列名称
    4. 删除文件backup the file之前。现在delete that file

    5. 请勿删除没有您的队列名称的其他文件。

    6. 自行承担风险。

    7. 现在开始关注服务

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

      这个技巧对我有用......

答案 2 :(得分:5)

如果在计算机上打开“计算机管理”,请展开“服务和应用程序”节点(2008年的功能),然后右键单击“消息队列”服务。

右键单击Properties选项并将其打开到General选项卡。

您可以指定邮件的存储限制 - 您可能已经遇到了邮件存储的上限。如果您暂时增加此值,则可能允许您返回到邮件系统,以便清除这些队列并还原操作。

如果失败了,如果你能处理丢失的消息(如果你试图清除我认为没问题),可以删除队列并重新创建它。

答案 3 :(得分:2)

获取Queue Explorer的副本 - 它是一个商业应用程序但是试用版功能齐全,在调试MSMQ时值得用黄金来衡量http://www.cogin.com/mq/

如果您没有权限,那么您没有权限!你是一个盒子管理员吗?如果您进入计算机管理并右键单击其中一个privete队列并选择属性,您可以访问安全选项卡并编辑/查看其中的权限吗?