Sql server SQL Server 2014 Service Broker未激活从队列接收消息的过程

Sql server SQL Server 2014 Service Broker未激活从队列接收消息的过程,sql-server,sql-server-2014,service-broker,Sql Server,Sql Server 2014,Service Broker,这一局势与和平密切相关 从SQL Server 2008 R2标准版迁移到SQL Server 2014标准版后,相同的代码不起作用。防火墙已设置为允许通信 sys.transmission\u队列(在发送方和接收方服务器上)保持为空,而GenericQueue(队列的我的标识符)接收消息。但是,附加到(接收SQL server)的过程: 未激活。我已经将日志消息放在里面,以获得切实的证据——该过程没有被调用 我没有观察到任何错误消息或指示——或者我不知道在哪里查找指示。我怎样才能找到问题所在?

这一局势与和平密切相关

从SQL Server 2008 R2标准版迁移到SQL Server 2014标准版后,相同的代码不起作用。防火墙已设置为允许通信

sys.transmission\u队列
(在发送方和接收方服务器上)保持为空,而
GenericQueue
(队列的我的标识符)接收消息。但是,附加到(接收SQL server)的过程:

未激活。我已经将日志消息放在里面,以获得切实的证据——该过程没有被调用

我没有观察到任何错误消息或指示——或者我不知道在哪里查找指示。我怎样才能找到问题所在?我应该在这里发布什么信息来帮助找到原因

安装ServiceBroker的代码是从模板生成的,除了机器标识(IP地址作为字符串)外,完全相同的代码在SQLServer2008R2上运行良好


作为所有者执行是否可能是原因?谁是
的所有者?

黑暗中的一枪。尝试运行以下命令:

EXECUTE AS USER = 'dbo';
如果失败,则数据库所有者SID在本地无效(通常在还原或文件复制后发生)。解决方案很简单:

ALTER AUTHORIZATION ON DATABASE::<dbname> TO [sa];
将数据库::上的授权更改为[sa];

如果您仍然有问题,请查看。在
sys.dm\u broker\u queue\u监视器中查看,1)队列存在,2)状态为RECEIVES\u ocking

这确实是在黑暗中拍摄的非常精确的镜头。谢谢!
ALTER AUTHORIZATION ON DATABASE::<dbname> TO [sa];