我有这个问题涉及从机器A(Windows 7)到机器B(Windows Server 2008)在同一networking中写入MSMQ消息。 只有从本地帐户发送邮件时才会出现此问题; 从我的域用户帐户和本地系统用户(LocalService)发送消息时,它工作的很好。 目前为止的信息和故障排除 机器A的死信队列中充满了标有“拒绝访问”的消息。 计算机B上的接收队列拥有授予“所有人”组的所有权限。 这也适用于“消息队列”function的重叠安全设置。 我也曾尝试授予对机器A的计算机名称的所有权限。 事件显示在机器A的事件查看器/应用程序和服务/ Microsoft / Windows / MSMQ / End2End下,标记为“消息通过networking传送”。 但是,在事件查看器/ Windows日志/应用程序或安全性下没有显示相关的消息。 机器A发送的消息和机器B上的接收队列都已启用事务设置。 我试图closuresWindows防火墙没有结果。 问题:我怀疑这与计算机B不能识别计算机A上使用的本地帐户有关。是否以某种方式授予此帐户在计算机B上的权限,以便计算机A可以写入计算机B的队列?
您可以重命名Windows Server 2003上现有的私人MSMQ队列吗?
我的问题有点混乱。 我有2个服务器(Windows Server 2008 R2)安装了MSMQ,我想使用服务器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”完全控制“人人”,“匿名login”,“networking”,“networking服务”; 日志已禁用; authentication是可以的; 队列是事务性的。 我在.Net C#中的代码基本上是这样的: MessageQueue _sourceQueue = new MessageQueue(); _sourceQueue.Path = "FormatName:Direct=TCP:172.31.23.195\private$\queuesource"; _sourceQueue.Receive(); // << here throw an exception. 其实我只使用Private Queue来避免Active Directory的问题。 例如,如果服务器DNS失败,则所有networking都将失败。 我不知道什么了。
是否可以在没有SAN的情况下创build3节点的Windows Server 2008 R2故障转移群集? 我们的目标是创build一个没有任何单点故障的群集MSMQ。 理想情况下,存储的消息将保留在群集的所有节点上,以便如果任何单个节点脱机,则群集可以继续运行并维持法定数量。 或者,还有另一种创build高可用性MSMQ的更好方法吗? (其他最可能不相关的信息)这个集群将作为一个NServiceBus“分配器”,并在我们的系统中保留所有“未决”消息。 这将是所有消息stream量经过的枢纽。 编辑:澄清,我特别感兴趣的是存储在节点上复制的MSMQ队列本身。 我将使用FileShare或节点多数法定人数来处理群集法定人数。
如果在MSMQ专用队列上启用了日志,并且具有存储限制(例如,100千字节),那么当超过该限制时会发生什么情况? 你能configuration这种行为吗? 特别: 消息是否仍然可以写入队列? 这些信息会被写入日记吗? 已经写入日志的旧邮件会发生什么? 人们似乎暗示设置一个限制是日志增长和超过服务器资源的风险的一个解决scheme,但是我没有发现任何人解释超过限制时会发生什么。 在我们自己的(非常有限的)testing中,似乎只是把信息停止写在日记本上。 (即,当期刊队列达到限制时,旧的消息仍然在期刊中,但是对于所有未来的消息,该期刊被有效地closures)。
发表在StackOverflow上,但我认为这可能与这个人群更密切。 我有一个MSMQ消息发送到服务器上的第二个DNS名称的问题。 如果我们为同一台服务器发送IP,那么我们没有问题,但是这不是我们正在build立的架构。 关于为什么MSMQ会关心收到哪个名字的任何想法? 这是我们的例子: 服务器信息:物理服务器load-int-01具有与之关联的第二个IP和DNS名称。 第一个IP / DNS: load-int-01 ,IP为10.0.10.10第二个IP / DNS为: load-intv ,IP为10.0.10.20 使用的队列path格式: FormatName:DIRECT=OS:load-int-01\private$\MyQueue – > Works Fine FormatName:DIRECT=OS:load-intv\private$\MyQueue – >返回以下错误: 该队列不存在或您没有足够的权限来执行此操作 我们也尝试使用IP地址,而这两组IP都正常工作。 FormatName:DIRECT=TCP:10.0.10.10\private$\MyQueue – > Works Fine FormatName:DIRECT=TCP:10.0.10.20\private$\MyQueue – > Works Fine
我试图通过计算机pipe理在我的机器上调整消息队列属性(特别是消息存储限制)。 它失败并显示以下消息: 属性不能设置。 错误:访问被拒绝。 我使用属于本地pipe理员组的帐户login。 我可以执行我尝试过的所有其他pipe理任务。 有什么可以阻止我改变这些设置? 平台:Windows Vista Business SP2(x64)
经常因为我正在debugging使用MSMQ的Windows服务, 我需要审查私人队列… 我打开计算机pipe理, 展开服务和应用程序, 然后展开消息队列和 私人队列…我知道这是 只有几个额外的点击 因为我累了 真的需要做得相当 经常… 一些组件可以在外面打开 计算机pipe理,例如:事件查看器 通过开始,运行,eventvwr。 是否有可能做同样的事情 消息队列? thryx〜gerry(lowry)
我们有一个相当大的MSMQ环境设置,今天决定停下来。 (在vSphere 4.0 Update 1下,一切都是虚拟机) 有8个networking服务器从networking上的客户端接收数据。 这些机器都安装了MSMQ,只需将MSMQ消息发送到主MSMQ服务器即可。 消息当前堆积在出站队列中。 这些机器是Windows 2008 Web版,具有2 Gig的RAM和2个vCPU。 我们有一个群集MSMQ服务器(Windows群集服务器),它从8个Web服务器获取消息。 队列中的数据量没有限制。 硬盘是50 Gig,有46 Gig的可用空间。 这些机器是具有8G内存和4个vCPU的Windows 2008企业版。 曾经有2个vCPU但CPU负载达到100%的集群,所以我把Windows集群的两个节点都增加到了4个vCPU。 有4个应用程序服务器从队列中读取消息并处理它们。 通常这一切都完美,但不是今天。 今天早上一切运行非常缓慢。 这8台networking服务器目前在出站队列中显示多达300k条消息。 群集服务器当前在队列中显示了超过一百万条消息(有些低至200k)。 如果我在8个Web服务器上查看perfmon,它会显示我平均每秒发送2个消息。 如果我查看群集上的perfmon,则会显示每秒大约7条消息进入群集。 正在读取的机器每个都没有收到许多消息。 最快的服务是每秒收到10-12条消息,最慢的是显示0或1。 最近唯一的变化是我们将前端Web服务器的数量从4个更改为8个。大约两个星期前我们做了这个没有问题。 星期二我们给他们打电话,看看剩下的4个怎么处理这个负载。 星期三我们把这四台新机器重新打开了。 群集上的磁盘显示非常低的IO并且没有排队。 为了安全起见,我已经将PowerPath更新到最新版本,但是这没有任何帮助。 8个Web服务器位于一个vLAN上,Cluster'd服务器和应用程序服务器位于另一个vLAN上。 vLAN之间没有防火墙。 在任何机器上的应用程序或系统日志中没有任何用处。
我想在故障转移系统中设置MSMQ。 我没有共享存储设置(硬件不可用 – 预算),但我有三个运行Windows Server 2016的dl380。 我想用法定服务器设置故障转移。 这是可能的设置?