我对MSMQ很新。 我们有一个使用MSMQ的关键系统,由于资源不足,它无法启动。似乎MSMQ有能力。 我正在尝试清除消息(甚至删除不必要的队列),但在清除时收到以下错误:
无法删除队列中的所有邮件。 错误:拒绝访问消息队列系统。
我有什么选择?有没有办法在服务关闭时删除队列?
答案 0 :(得分:14)
有一种更简单的方法:
答案 1 :(得分:8)
我认为有权利问题。
您无法提供权限,请执行以下步骤以强行删除队列。
Message Queuing Triggers, Net.Msmq Listener Adapter Message Queuing.
转到C:\ Windows \ System32 \ msmq \ storage \ lqs
现在在记事本或记事本++和
中打开文件查看QueueName=\private$\YourQueueName
删除文件backup the file
之前。现在delete that file
。
请勿删除没有您的队列名称的其他文件。
自行承担风险。
现在开始关注服务
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队列并选择属性,您可以访问安全选项卡并编辑/查看其中的权限吗?