0

我正在尝试在我的开发计算机(运行 Windows 7)上启用 MSMQ。

我去打开或关闭 Windows 功能 -> Microsoft 消息队列 (MSMQ) 服务器核心 -> 检查 MSMQ Active Directory 域服务集成和 MSMQ HTTP 支持。

当我单击确定时,我收到错误“发生错误。并非所有功能都已成功更改。” -> 单击确定 -> “您必须重新启动计算机才能应用这些更改”。

我点击了立即重新启动并稍后重新启动,无论如何,每次都是同样的问题。

如果我选择稍后重新启动并进入服务...我看到消息队列(已停止),如果我尝试启动服务,我会收到错误“Windows 无法在本地计算机上启动消息队列服务。错误 0x80070005:访问否认。”

我检查了我的权限,我是这台机器的管理员。为了安全起见,我什至以实际管理员身份登录了机器。同样的场景。

此外,当我进入事件查看器时,我会检查应用程序日志。我有一个错误,将 MSMQ 作为源。EventID:2076,错误:无法初始化记录器文件。Msmq\Storage 文件夹中的文件 QMLog 已损坏或不存在。错误 0x80070005:访问被拒绝。

如果我检查系统日志,我会看到另一个错误,源是服务控制管理器。错误 eventId:7023,错误:消息队列服务因以下错误而终止:%%-2147024891

当我在 Microsoft 上查找错误代码时,什么都没有。

4

1 回答 1

0

我有这样的事情 - 不知道它是如何发生的,因为我总是为我的 MSMQ 启用 AD 集成(因为我需要它)但是在某个地方,它被关闭了,我无法通过重新打开它控制面板 - 我会得到 OP 描述的错误行为(并重新启动!)。为了修复它,我通过我们的一台域服务器上的 AD 服务管理器应用程序访问了我的机器,并删除了它下面的“msmq”对象。

我在我的机器上重新启动了本地 MSMQ 服务并重新启动(不确定哪个或两者都需要),然后当我检查我的本地注册表项时,它表明我再次在 AD 模式下正确运行。在那之后,一切都重新开始了。

此链接有助于为我提供正确的方向:Technet MSMQ 删除过时对象文章

于 2013-08-01T16:09:27.653 回答