用于触发表更改代码的SQL通知的替代方法

时间:2010-12-03 12:00:56

标签: asp.net sql-server asp.net-mvc notifications sqldependency

所以我刚刚继承了一个应用程序,该应用程序使用与SQL Notification Services相关联的SQL依赖关系功能,以便在更改数据库中的某个表时执行某些功能。具体来说,我有一个MVC网站 - 在global.asax文件中有一个监听功能,根据数据的变化,每当表格被更改时都会更新路径约束。

不幸的是,我们也迁移到了SQL Server 2008.现在,我根本无法使用此功能。据我所知,它实际上已经在SQL Server 2008中删除了,但令人讨厌的是,它确实有时似乎在它出错时触发。这让我有点困惑,但看起来服务已经不再可用了。

所以我需要一个建议的选择。我看了一下StreamInsight,坦率地说,它似乎是一个破解坚果的大锤。此外,我有点怀疑对它的支持可能会被删除,就像支持Notification Services一样。最简单的方法是简单地安排一个控制台应用程序每5分钟左右完成一次工作,但是立即更新将是非常可取的,而且我不确定让命令行应用程序更新某些东西是多么容易在网站上作为路由的基础。

那么 - 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

this thread上的MS帖子中,SQL Server 2005 SP 3通知服务将与SQL Server 2008一起运行。我不确定您是否要这样做,但据说只要SQL支持这一点支持Server 2005。

来自SQL Server 2005 SP 3通知服务的自述文件:

  

此版本的SQL Server 2005 Notification Services组件支持针对SQL Server 2005数据库引擎或SQL Server 2008数据库引擎的实例运行SQL Server 2005 Notification Services。

您可以在此处下载说明:SQL 2005 SP 3 ReadMe files

答案 1 :(得分:0)

我认为您可以考虑使用某些JMS提供程序发布订阅机制。您的asp .net页面可以将消息发布到一个主题,该主题将由订阅者接收并进行必要的更新。