将插入的数据从SQL Server推送到应用程序的最佳方法是什么?

时间:2011-06-09 18:19:20

标签: sql-server-2008 sql-server-2008-r2

我想在SQL Server(或其中一个服务)中使用某种机制来推送更改消息(例如,通过UDP,但TCP也可以),当行插入到表中时。我希望这些消息不仅仅是变更通知,而是实际包含已更改的数据。是否有SQL Server 2008 R2附带的机制来执行此操作?我听说过Service Broker和扩展事件,但我不确定这些工作是否适合这项工作,因为它需要将接近实时的数据从SQL Server推送到另一个需要在数据时更新其内部状态的应用程序在SQL Server中更改,无需查询SQL Server(即,我希望数据被严格推出SQL Server)。

在最糟糕的情况下,我可以编写SQLCLR代码来单播包含更改的UDP消息,但我想重用现有服务(如果可用)。

2 个答案:

答案 0 :(得分:4)

由于您使用的是SQL 2008,因此更改跟踪内置于。

MSDN提供有关启用和实现该功能的详尽信息。 This overview article提供了一个高级视图,this article是开始实施的好地方。

答案 1 :(得分:1)

不幸的是,因为从2008年及之后删除了SQL Server Notification Services,所以实际上没有一种好的内置方法可以做到这一点。微软的官方政策是,Reporting Services可以填补这一空白,但实际经验证明不是这样。

您无论是第三方解决方案还是自己动手解决方案。祝你好运!