我有多个应用程序正在访问同一数据库,并且如果这些应用程序之一更改了某个表中的任何内容(更新,插入),我需要得到通知。
数据库和应用程序不在同一服务器上。
您可以使用SqlDependency Class。它的预期用途主要用于ASP.NET页(客户端通知数量少)。
SqlDependency Class
ALTER DATABASE UrDb SET ENABLE_BROKER
实施OnChange事件以获取通知:
OnChange
void OnChange(object sender, SqlNotificationEventArgs e)
并在代码中:
SqlCommand cmd = ... cmd.Notification = null; SqlDependency dependency = new SqlDependency(cmd); dependency.OnChange += OnChange;
它使用 Service Broker (基于消息的通信平台)从数据库引擎接收消息。
Service Broker