标签: msmq

如何在本地计算机管理界面中查看 MSMQ?

我正在尝试调试使用 Microsoft 消息队列 (MSMQ) 的应用程序。我可以使用远程桌面连接调试开发服务器上的队列,但不能在本地桌面上重复该过程。如果可能,我更愿意在本地桌面上使用应用程序。

我的开发服务器运行的是 Windows Server 2003 R2 企业版。我的本地机器运行的是 Windows 7 专业版。

要使用远程桌面连接调试队列(请参阅第一个屏幕截图):

  1. 以 DEV\admin_me 身份远程连接到我的开发服务器 (DEVSERVER) 的桌面。
  2. 运行compmgmt.msc
  3. 导航到“计算机管理(本地)> 服务和应用程序 > 消息队列 > 专用队列”以查看我的应用程序使用的两个专用队列。

可以通过远程桌面连接进行消息队列管理。

在我的本地桌面上重复这个过程(见第二个屏幕截图):

  1. 运行runas /user:DEV\admin_me "mmc compmgmt.msc /computer:\\DEVSERVER"(使用 runas 因为我的本地桌面帐户是 DEV\me,而不是 admin)。
  2. 尝试导航到“计算机管理 (DEVSERVER) > 服务和应用程序 > 消息队列”,但它不可见。

在本地桌面上无法进行消息队列管理。

我是否遗漏了什么,或者是使用远程桌面连接的唯一方法?

msmq

26
推荐指数
1
解决办法
14万
查看次数

是否可以在 Windows 8 上从 PowerShell 启用 MSMQ?

是否可以在 Windows 8(.1) 上从 PowerShell启用MSMQ?如果是这样,如何做到这一点?

powershell msmq windows-8 windows-8.1

13
推荐指数
1
解决办法
1万
查看次数

Server 2016 MSMQ 故障转移

我想在故障转移系统中设置 MSMQ。

我没有共享存储设置(硬件不可用 - 预算),但我有三个运行 Windows Server 2016 的 dl380。

我想使用仲裁服务器设置故障转移。

这个设置可以吗?

failover msmq

10
推荐指数
2
解决办法
1592
查看次数

编辑 MSMQ 消息队列属性时拒绝访问

我正在尝试通过我机器上的计算机管理来调整消息队列属性(特别是消息存储限制)。它失败并显示以下消息:

的属性无法设置。
错误:访问被拒绝。

我使用属于本地管理员组的帐户登录。我可以执行我尝试过的所有其他管理任务。什么可能阻止我更改这些设置?

平台:Windows Vista Business SP2 (x64)

permissions windows-vista msmq

9
推荐指数
2
解决办法
2万
查看次数

MSMQ 接收消息很慢

我们有一个相当大的 MSMQ 环境设置,今天决定停止。

(在 vSphere 4.0 Update 1 下一切都是虚拟机)

有 8 个 Web 服务器从网络上的客户端接收数据。这些机器都安装了 MSMQ,只需将 MSMQ 消息发送到主 MSMQ 服务器即可。消息当前堆积在出站队列中。这些机器是带有 2 GB RAM 和 2 个 vCPU 的 Windows 2008 网络版。

我们有一个集群 MSMQ 服务器(Windows 集群服务器),它从 8 个 Web 服务器获取消息。队列中的数据量没有限制。硬盘驱动器为 50 Gigs,并且有 46 Gigs 的可用空间。这些机器是 Windows 2008 企业版,具有 8 GB 的 RAM 和 4 个 vCPU。集群曾经有 2 个 vCPU,但 CPU 负载达到 100%,所以我将 Windows 集群的两个节点增加到 4 个 vCPU。

有 4 个应用服务器从队列中读取消息并处理它们。

通常这一切都很完美,但今天不行。

今天早上一切都运行得很慢。8 个 Web 服务器当前显示出站队列中多达 30 万条消息。集群服务器当前在队列中显示超过一百万条消息(有些低至 20 万条)。

如果我查看 8 个 …

performance msmq

8
推荐指数
1
解决办法
1万
查看次数

无法将 MSMQ 消息发送到服务器的第二个 DNS 名称

将此发布在 StackOverflow 上,但我认为它可能与这群人更密切相关。

我在向服务器上的第二个 DNS 名称发送 MSMQ 消息时遇到问题。如果我们为同一台服务器发送 IP,我们很好,但这不是我们在架构上要去的地方。关于为什么 MSMQ 会关心它收到的名称的任何想法?

这是我们的例子:

服务器信息:物理服务器 load-int-01,具有与之关联的第二个 IP 和 DNS 名称。第一个 IP/DNS: load-int-01, 有 IP10.0.10.10第二个 IP/DNS: load-intv, 有 IP10.0.10.20

使用的队列路径格式:

FormatName:DIRECT=OS:load-int-01\private$\MyQueue -> 工作正常

FormatName:DIRECT=OS:load-intv\private$\MyQueue -> 返回以下错误:

队列不存在或您没有足够的权限来执行此操作

我们也尝试过使用 IP 地址,两组 IP 都可以正常工作。

FormatName:DIRECT=TCP:10.0.10.10\private$\MyQueue-> 工作正常FormatName:DIRECT=TCP:10.0.10.20\private$\MyQueue-> 工作正常

domain-name-system msmq

7
推荐指数
1
解决办法
4473
查看次数

有没有办法只看到计算机管理的消息队列部分?

经常因为我正在调试使用 MSMQ 的 Windows 服务,
我需要查看私有队列......

我打开“计算机管理”,
展开“服务和应用程序”,
然后展开“消息队列”和“
专用队列”……我知道
只需要额外点击几下
就会很累,因为我
确实需要
经常这样做……

某些组件可以在
计算机管理之外打开,例如:
通过开始、运行、eventvwr 的事件查看器。

是否可以对
消息队列执行相同的操作?

谢谢~~格里(洛瑞)

windows shortcut keyboard-shortcuts msmq message-queuing

6
推荐指数
1
解决办法
9587
查看次数

对消息队列系统的访问被拒绝 MSMQ?

我的问题有点混乱。我有 2 台安装了 MSMQ 的服务器(Windows Server 2008 R2),我想使用服务器 B 在服务器 A 上使用 MessageQueue。当我尝试接收时,它总是抛出消息错误: "Access to message queuing system is denied."

他们之间的IP。

服务器 A:172.31.23.130

服务器 B:172.31.23.195

FormatName:Direct=TCP:172.31.23.195\private$\queuesource(它适用于发送)

  • 我可以从另一个 ping 每个服务器;
  • 防火墙被禁用;
  • “queuesource”对“Everyone”、“匿名登录”、“网络”、“网络服务”有完全控制权;
  • 日志被禁用;
  • 认证没问题;
  • 队列是事务性的。

我在 .Net C# 中的代码基本上是这样的:

MessageQueue _sourceQueue = new MessageQueue();
_sourceQueue.Path = "FormatName:Direct=TCP:172.31.23.195\private$\queuesource";
_sourceQueue.Receive(); // << here throw an exception.
Run Code Online (Sandbox Code Playgroud)

实际上,我使用 Private Queue 只是为了避免 Active Directory 的问题。例如,如果服务器 DNS 失败,则所有网络都失败。我不知道该怎么办了。

windows .net msmq windows-server-2008-r2 message-queuing

6
推荐指数
0
解决办法
7012
查看次数

当您超过 MSMQ 日志限制时会发生什么?

如果在 MSMQ 专用队列上启用日志,并具有存储限制(例如 100 KB),超过该限制时会发生什么情况?你能配置这种行为吗?

具体来说:

  • 消息仍然可以写入队列吗?
  • 这些消息会写入日志吗?
  • 已经写入日志的旧消息会怎样?

人们似乎暗示设置限制是解决日志增长和超出服务器资源的风险的一种解决方案,但我没有发现任何人解释超出限制时会发生什么。

在我们自己的(非常有限的)测试中,似乎消息只是停止写入日志。(即,当日志队列达到其限制时,旧消息仍保留在日志中,但对于所有未来消息,日志实际上已关闭)。

msmq journal

6
推荐指数
1
解决办法
4635
查看次数

如何编写对 Windows 2008 R2 服务器上的 msmq 存储位置的更改的脚本

有没有办法通过批处理或powershell脚本来做到这一点?我正在寻找一种方法来设置几个新服务器。

我在这个主题上发现的唯一一件事让我相信你不能:来自:http : //technet.microsoft.com/en-us/library/cc785060.aspx

只能使用计算机管理、服务和应用程序、消息队列属性中的存储选项卡修改消息存储位置。

编辑 - 我也找到了这篇文章。它列出了一些注册表值,但再次建议不要使用它 http://blogs.msdn.com/b/johnbreakwell/archive/2009/02/09/changed-the-msmq-storage-location.aspx

powershell batch-file msmq

6
推荐指数
1
解决办法
1254
查看次数