c# - 如何使用 c# 监控 SQL Server 表更改?

标签 c# sql-server monitoring

我有多个应用程序访问同一个数据库,如果其中一个应用程序更改某个表中的任何内容(更新、插入),我需要得到通知。

数据库和应用不在同一台服务器上。

最佳答案

您可以使用 SqlDependency Class .它的预期用途主要用于 ASP.NET 页面(客户端通知数量较少)。

ALTER DATABASE UrDb SET ENABLE_BROKER

实现 OnChange 事件以获得通知:

void OnChange(object sender, SqlNotificationEventArgs e)

在代码中:

SqlCommand cmd = ...
cmd.Notification = null;

SqlDependency dependency = new SqlDependency(cmd);

dependency.OnChange += OnChange;

它使用 Service Broker(基于消息的通信平台)从数据库引擎接收消息。

关于c# - 如何使用 c# 监控 SQL Server 表更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5288434/

相关文章:

c# - 如何在 Silverlight 中创建与 .NET 中工作方式相同的 GetEnumValues 扩展方法?

c# - 无法绑定(bind)到 DataContext 的属性

mysql - MS-SQL SERVER 中的 Group_concat MySQL 函数等效项

sql - 使用动态sql创建表

ruby - 使用 Puppet list 自动创建 Nagios 主机组

c# - 允许缩放、平移和 POI 的表单控件

c# - 在 sql_variant 列的表值参数中传递类型为 'object' 的参数

sql - 如何使用 T-SQL 查询在 Active Directory 中获得大约 1000 条记录限制?

linux - Cacti CentOS 问题

c++ - 监视本地 pc 网络和阻止 ip 是 winpcap 是工具吗?