【问题标题】:SQL Server NotificationsSQL Server 通知
【发布时间】:2012-08-25 04:55:31
【问题描述】:

我正在构建一个从 SQL Server 提取数据的应用程序,服务器的版本可能从 2005 年到 2012 年不同,但最重要的是 2008 年和 2012 年。

如果我想监听数据库中某些表和行的更改,发送或获取这些更改并在我的 C# 应用程序中使用它们,最好的方法是什么?

我不需要更新数据库中的任何数据,这是另一个已经存在的应用程序的工作。

我只想听变化,或轮询变化,或类似的事情。

根据您的经验,什么是最好的,Service Broker?查询通知? MSMQ? Sql依赖?更改数据跟踪?

提前致谢!

【问题讨论】:

  • 您如何定义“最佳”?这听起来像是一个民意调查问题,除非您详细说明您尝试过哪些技术、您期望的挑战以及您打算如何衡量......
  • 最好我的意思是最简单的架构,我不需要立即更新,但至少在一两分钟内,我目前正在做我的硕士论文,这可能是最后一次我在我的系统中实现的东西,我只是好奇人们以前使用过什么以及他们发现什么容易和有用。
  • 记录是如何进入数据库的?
  • 通过另一个用 c++ 编写的应用程序,该应用程序从网络农场获取数据。但问题是我们无法听到那里的变化,因为我们无法确定它们是否通过。

标签: c# .net sql sql-server


【解决方案1】:

我认为您可以使用 SQL Server 公开的性能计数器。

【讨论】:

    【解决方案2】:

    考虑将SQL Server CLR integration 与触发器结合使用。

    例如,您可以对您希望的更改进行协议(比如说在您为此目的创建的表中),并且您可以运行一个看门狗进程,该进程以恒定的时间间隔或在特定时间点根据您的需要提取数据.

    【讨论】:

    • 你有没有用它来提醒你我的问题?
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2014-03-17
    • 1970-01-01
    • 2010-10-27
    • 2014-07-02
    • 2015-10-17
    • 2016-05-24
    • 1970-01-01
    相关资源
    最近更新 更多