问题标签 [service-broker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
20341 浏览

.net - 您可以/应该将 SQL Server Service Broker 与 .NET 应用程序一起使用吗?

我在数据库中有许多需要触发应用程序代码的操作。目前我正在使用数据库轮询,但我听说 SQL Server Service Broker 可以为我提供类似 MSMQ 的功能。

  1. 我可以从运行在不同机器上的 .NET 应用程序监听 SQL Server Service Broker 队列吗?
  2. 如果是这样,我应该这样做吗?
  3. 如果没有,你会推荐什么?
0 投票
1 回答
5900 浏览

sql-server - SQL Server 服务代理错误处理

我有一个将消息放入 SQL Server Service Broker 消息队列的存储过程。如果出现问题并且消息没有放在消息队列中,我需要从存储过程返回错误消息。我看到的问题是,即使禁用了 SQL Server 服务代理(这是我试图测试将消息放入队列失败的方式),当我运行 TSQL 代码放置时它不会返回错误队列中的一条消息。

有谁知道如何检测将消息放入 SQL Server Broker 消息队列是否失败?

0 投票
1 回答
766 浏览

sql-server - SQLServer 2008 - 在实例之间配置 Service Broker

我一直在使用这个网站上的脚本来帮助配置基于 Service Broker 的审计。第一阶段 - 在同一实例上的数据库之间设置 SB 工作正常。

但是,当我尝试在实例之间应用 Service Broker 时,我陷入了悲伤。

我正在使用命令行工具 ssbdiagnose 来帮助我查找配置错误:

这是报告

发生内部异常:输入字符串的格式不正确。

现在这只是检查配置,我什至还没有到发送消息的地步,所以“输入字符串”必须是配置的一部分,但错误消息没有说明错误发生在哪里而且我在网上找不到任何关于诊断 ssbdiagnose 错误的信息。

任何有 ssbdiagnose 经验的人都可以帮助我了解错误在哪里,以及我需要做些什么来修复它?

克里斯

0 投票
2 回答
845 浏览

sql-server - SQL Server Service Broker 在 SQL Server 2000 上插入数据

我有两台服务器,第一台使用 SQL Server 2005,第二台使用 SQL Server 2000。我想将数据从 2005 插入到 2000,并且我想不同步(没有分布式事务,因为使用了“保存事务” )。

一旦将信息插入 2000 服务器的表中,就会触发一些代替触发器来处理此信息。

在那种情况下,我决定使用 Service Broker。所以我有一个存储过程来将信息从一台服务器插入到另一台服务器,它工作得很好。

但是当我从目标队列进程消息过程中调用这个过程时它失败了,我不知道为什么!!

另外,我知道它可以工作,因为当我使用相同的结构(队列和存储过程)将一个数据库复制到同一 SQL 2005 服务器上的另一个数据库时。

所以它只在机器之间失败,任何人都知道为什么或如何获得有关失败原因的更多信息?或者如何不同步插入数据(我不能使用 SQL 代理,因为我希望插入信息的频率超过 1 分钟)。

0 投票
2 回答
1047 浏览

asp.net - 生产 SqlSiteMapProvider 问题 - 所有项目“消失”?

我们有几个 ASP.NET 应用程序使用站点地图,该站点地图是通过Wicked Code中的 SqlSiteMapProvider 示例的 VB.NET 实现填充的。它被编译成一个 DLL,然后从服务器上的 GAC 以及我们的本地安装和引用。它已经在生产中运行了几个月。我还应该注意我们使用的是 SQL Server 2008

今天我们进来并注意到在生产中,在任何应用程序的产品站点地图上根本没有显示任何菜单项。开发和质量检查看起来不错。在我们实现 SQLSiteMapProvider 之前很久,我们已经有很长一段时间没有在 prod 中对 SQL Server 进行任何维护了。我们最近也没有更新任何网络应用程序。

我做的第一件事是获取 prod web.config 并将其设置为我的 IDE 中的 web.config 并运行该应用程序 - 仍然是同样的问题。这应该排除 IIS 问题,因为该错误也已复制到我的机器上。

由于这有点紧急,我接下来要做的就是在 prod 的站点地图表中插入一个虚拟记录,看看会发生什么。噗,就像魔术一样,菜单项恢复了,一切都很好。我删除了虚拟菜单项,它同步没有问题。

不过这有点吓人,我想弄清楚为什么会这样,这样以后就不会再发生了。有谁之前经历过这个吗?如果您从未使用过 SqlSiteMapProvider - 它只是使用 SqlDependencyCache/ ASP.NET 缓存来存储菜单项,那么如果返回链接的存储过程的结果集发生更改,它会告诉 ASP.NET 这发生了并重新填充站点地图/缓存...

也许 Web 服务器和 SQL Server 之间的连接不知何故死了?并插入记录使其“唤醒”并再次重新连接?也许有一个超时值或某种 IsStillConnected() 函数我需要检查 PageLoad 以确保连接仍然完好?或者也许 ASP.NET 认为存储过程由于某种原因没有返回任何值,直到我们将记录插入表中?有没有人见过这个问题?

非常感谢您的任何指导。

编辑:这一切都来自于在我的存储过程中有一个 SET NOCOUNT ON。谨防!这在任何地方的 MSDN 文档中都没有,真的让我有一阵子搞砸了!

0 投票
2 回答
148 浏览

.net - 可以与 Service Broker 和事务一起使用的最佳 ORM

问候

是否有可以处理事务并且对 Service Broker 友好的 ORM(特定于 MS-Sql)。我正在寻找的是能够在事务内部使用 ORM 表,并能够在事务内部进行服务代理调用(通过使用 ORM 对象/方法或直接执行 command.ExecuteNonQuery)。谢谢!

0 投票
1 回答
1003 浏览

sql-server - 使用服务代理同时向两个服务发送消息

我可以使用服务代理将消息从一项服务发送到多项服务吗?

就像是

查看语法,我认为我们不能这样做。有什么选择?

谢谢并恭祝安康

0 投票
4 回答
1687 浏览

.net - SQL 服务代理成功了吗?

我正在考虑将我们的内部应用程序从 MSMQ 和 WCF 转换为 SSB。关于我们的排队,我们想要一个功能更丰富的系统。

但是,如果 SSB 与 .Net 一起使用,我看不到很多实现或一般信息。SSB 博客不是很活跃,我一般很少看到关于实施成功或建议的帖子。

SSB用的多吗?排队和.Net有更好的选择吗?

0 投票
4 回答
8464 浏览

.net - 用于 SQL Server 服务代理的 .NET API

是否有用于使用 SQL Server Service Broker 的 .NET API 或对象模型?

0 投票
3 回答
4383 浏览

database - 复制 vs 同步框架 vs 服务代理

我已经分别询问了这些技术中的每一种,但确实没有找到合适的答案。

我们的中央办公室有一台运行 SQL Server 2005 Enterprise 的服务器,该服务器有几个大型(在 DSL 是限制因素的意义上说很大)数据库,我们需要在每个位置的本地副本。我们目前有几十个地点,并且需要将更多地点带到网上。在接下来的 2 年内,我们需要将这些数据库同步到的位置总数将达到数百个。

我们正在努力解决每个位置的 WAN 连接问题。这些是 DSL 线路,并且这些位置的布线并不总是最好的。我们目前遇到的问题是,某些地点每小时都会出现故障。虽然我们正在努力通过重新布线和当地电信公司的协助来解决这些问题,但它主要强调了手头的问题:我们需要一个可以处理偶尔连接的双向同步。

我们尝试了事务复制一段时间,虽然它在某些时候有效,但对我们来说维护成本太高,而且它似乎经常随机出错而没有可能的解释,迫使我们重新初始化订阅(这可能需要 4几个小时,假设该位置将保持连接足够长的时间以一次获取整个快照)。我们已经考虑从头开始推出我们自己的解决方案,但考虑到我们需要的规模和可靠性,我认为这不是最好的主意。

到目前为止,我们还研究了 Sync Framework,以及其他人建议的 Service Broker。Sync Framework 似乎更合适,但有人告诉我 Service Broker 可扩展性更好且更可靠?我找不到任何与 Sync Framework 或 Service Broker 相关的开销的经验数据,因此在这方面无法比较两者。

我们真正需要的是中央办公室服务器和远程客户端之间的双向同步,它可以自主运行,并且可以在发生需要我们干预的故障时向管理员报告。

这个问题有很多可能的解决方案,都涉及完全不同的技术,我需要重新审视这个问题。

对于我们的情况,您认为最佳解决方案是什么,为什么?

编辑:显然,升级到 SQL Server 2008 可以轻松解决这个问题。但是,我们想先尝试更便宜的选择。