首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignalR SQL Server Broker -孤立的服务Broker队列错误

SignalR SQL Server Broker -孤立的服务Broker队列错误
EN

Stack Overflow用户
提问于 2016-03-04 02:29:40
回答 1查看 686关注 0票数 1

我在SQL Server2008上使用SQL Server Broker与SignalR v2.1.2进行横向扩展。最近发现,我们每天都会在数据库日志中产生50k+错误。经过一些研究,从12月份开始,有3个孤立的Service Broker队列。错误示例:

2016-02-27 23:58:01.79找不到在队列'MY_SIGNALR_DB.dbo.SqlQueryNotificationService-2ffbddba-6ddc-4ad0-88b4-45a405e975e0‘上运行的激活的proc 'dbo.SqlQueryNotificationStoredProcedure-2ffbddba-6ddc-4ad0-88b4-45a405e975e0’输出如下:‘找不到存储过程'dbo.SqlQueryNotificationStoredProcedure-2ffbddba-6ddc-4ad0-88b4-45a405e975e0'.’

这些队列是在12月份创建的,由于某种原因没有被删除。相应的SP显然如预期的那样被删除。为此,数据库将每5秒产生一个错误(相当于每天50k,具有3个队列)。每个队列都包含一条消息。

问题:

是什么导致了这种情况?

是否可以实施其他SignalR设置以确保清理这些设置?

这是SQL Server Service Broker中的错误吗?

是否有文档描述SignalR关于队列及其过期的预期行为?

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

发布于 2016-03-04 16:20:39

这些是SqlDependency遗留下来的。SqlDependency.Start()的实现是创建即时服务、队列和激活过程(参见reference source)。这有一些issues,甚至一个简单的Visual Studio debugging会话也会留下搁浅的队列/激活的过程。

您可以在发生时清理这些遗留的服务/队列/过程,也可以选择使用较低级别的SqlNotificationRequest类并自行处理服务/队列部署。选择你的毒药。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35780125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档