【问题标题】:SqlDependency with SQL Server 2014SqlDependency 与 SQL Server 2014
【发布时间】:2015-02-17 15:06:19
【问题描述】:

我们正在将 SQL Server 从 2008 R2 迁移到集群 VM 上的 SQL Server 2014。

我们有一个 .Net 应用程序,我们在其中实现了 SqlDependency 来跟踪 Windows 应用程序中的数据库更改。

SqlDependency 在 SQL Server 2014 中仍能顺利运行吗?

听说不支持或不推荐使用?

在 SQL Server 2014 中替换 SqlDependency 的任何其他方式?

请提出建议并分享有价值的意见。

【问题讨论】:

  • 你是从哪里听到的?微软发布的 Breaking ChangesBehavioral Changes 文档均未提及 anything 类似的内容.....
  • 好的,还想知道在我们的应用程序中实现 SqlDependency 和跟踪数据库更改更新的任何其他新事物或方法?

标签: .net sql-server sql-server-2014 sqldependency


【解决方案1】:

您可以使用 SqlDependency 类的开源实现 - SqlDependencyEx。它使用数据库触发器和本机 Service Broker 通知来接收有关表更改的事件。这是一个用法示例:

int changesReceived = 0;
using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
          TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME)) 
{
    sqlDependency.TableChanged += (o, e) => changesReceived++;
    sqlDependency.Start();

    // Make table changes.
    MakeTableInsertDeleteChanges(changesCount);

    // Wait a little bit to receive all changes.
    Thread.Sleep(1000);
}

Assert.AreEqual(changesCount, changesReceived);

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多