Sql server 2008 sql server更改通知和SqlDependency

Sql server 2008 sql server更改通知和SqlDependency,sql-server-2008,Sql Server 2008,我一直在寻找一种更好的机制来通知我的桌面客户端sql server表已更改。排除应用服务器层的选项,我正在寻找适合现有胖客户机->Sql server模型的解决方案。我对触发器和轮询很熟悉,但我希望有更聪明的东西 一种选择似乎是SqlDependency。我目前正在考虑这个问题,但也看到一些人提到它有“限制”,可能“不适合”进行大量更改。我没有找到很多关于这方面的信息,也没有找到很多最近的代码示例 您使用什么来通知sql server表已被修改 除非你有一个服务(所有表的技术都要经过它),否则你

我一直在寻找一种更好的机制来通知我的桌面客户端sql server表已更改。排除应用服务器层的选项,我正在寻找适合现有胖客户机->Sql server模型的解决方案。我对触发器和轮询很熟悉,但我希望有更聪明的东西

一种选择似乎是SqlDependency。我目前正在考虑这个问题,但也看到一些人提到它有“限制”,可能“不适合”进行大量更改。我没有找到很多关于这方面的信息,也没有找到很多最近的代码示例


您使用什么来通知sql server表已被修改

除非你有一个服务(所有表的技术都要经过它),否则你就只能靠轮询或依赖了。依赖性所做的一切就是挂接到sql Server自己的表更改代码中,并触发一个更改事件。底层机制非常简单,可能会被大量更改淹没,试图合理化事件处理程序中的更改充其量是有问题的

您可能会在“通信表”中找到触发器,在那里您可以添加合理化逻辑,然后从那里使用依赖性

因此,您不必检测表1中column1的简单更改,而是触发comms表中事件记录的插入


这将是一个PIA,因为你已经排除了应用服务器层,你也极大地限制了你做一些高效和好的事情的选择。

哦,如果可以的话,我会有一个应用层。目前这不是一个选项:/没有太多关于依赖关系的信息,只是关于它有点不可靠的奇怪的神秘注释。谢谢你的建议,我想我将使用触发器来访问几个“通信”表,并对它们进行投票。