Tag: service broker

SQLDependency + Service Broker

我正在使用SqlDependency在某些表中的数据发生更改时获取通知。 private void subscribeBroker() { using (var conn = new SqlConnection(connString)) { conn.Open(); var cmd = new SqlCommand(“SELECT text FROM dbo.Test”); cmd.Connection = conn; var dependency = new SqlDependency(cmd); dependency.OnChange += dependency_OnChange; SqlDependency.Start(connString); cmd.ExecuteNonQuery(); } } void dependency_OnChange(object sender, SqlNotificationEventArgs e) { //Do something… subscribeBroker(); } 它有效,但我有一些问题。 1)我没有找到一种方法来获取哪些行被更改的信息。 我需要读取整个表中的所有数据,看看有什么不同。 有没有办法获得这些信息? (主要ID,或者其他)也许使用与SqlDependency不同的方法? 2)如果“某人”非常快速地改变数据怎么办? 某些更改可能不会被通知? (我关注通知和再次订阅时间之间的时间。 谢谢。

检测SQL数据库更改

考虑这个例子: INSERT INTO [Table] (column1) SELECT value1 如果我要在SSMS中执行此命令,关于ac#forms应用程序,为了识别此事件,我需要做些什么? 像发生此事件时显示MessageBox的应用程序一样简单。 我似乎无法解决这个问题或找到任何有用的数据。 我试图使用SqlDependency但没有运气。 如果那是我需要走的道路,那么任何人都可以帮助我更好地理解这个概念吗?