云服务器网:购买云服务器和VPS必上的网站!

MSSQL通知:实现数据改变侦测的工具

MSSQL通知(Notification Services)是基于Microsoft SQL Server的一种数据改变侦测(Data Change Detection)工具,用于检测关注对象的数据变化,并通过特定的协议将信息发送到客户端,以便客户端可以检测和

MSSQL通知(Notification Services)是基于Microsoft SQL Server的一种数据改变侦测(Data Change Detection)工具,用于检测关注对象的数据变化,并通过特定的协议将信息发送到客户端,以便客户端可以检测和做出相应的响应。

MSSQL通知可用于多种服务,例如将更新通知推送到客户端、装备之间的无线数据同步、工作流通知、离线更新等等。最多见的用处,是当数据变动时,向客户端发送更新通知,以实现服务器与客户端之间的交互。

MSSQL通知在实现这类类型的数据改变侦测的进程中,采取了一种名为”Pull Subscription”的拉取模型。这类模型以定阅服务和发布服务两个部份组成。定阅者配置它定阅的事件类型,然后从发布服务器获得事件通知。

MSSQL通知的另外一个特点是对定阅和发布服务器的灵活性,可让定阅者从多个发布者处获得事件通知,也能够针对区别定阅者,从区别的发布者处获得同一事件。

在MSSQL通知用户设计中,通常要定义一套定阅规则。每规则触及到定阅者、要定阅的类型、要发布的事件、要发布的信息等等。当数据库产生变化时,Notification Services会依照定阅规则处理定阅者定阅相关的事件,将变动信息发送到定阅者。

下面是一个简单的MSSQL通知实现代码:

ALTER TABLE [table1]

ADD [column1] NVARCHAR(MAX);

GO

CREATE PROCEDURE [NotificationProc]

@notification_id INT

AS

BEGIN

DECLARE @message NVARCHAR(max) = ‘Table1的column1的数据产生更新’;

EXEC msdb.dbo.sp_send_db_notification

@notification_id,

@message;

END;

GO

CREATE TRIGGER [NotificationTrigger]

ON [table1]

AFTER UPDATE

AS

BEGIN

EXEC NotificationProc @notification_id = 1;

END

GO

通过上面的实现,当table1的column1的数据产生变化时,”NotificationTrigger”触发器就会触发,然后”NotificationProc”存储进程被履行,其中会调用msdb.dbo.sp_send_db_notification这个系统存储进程发送通知,其中发送的信息就是@message。

总的来讲,MSSQL通知是一种很强大的数据改变侦测工具,通过它,我们可以对数据变化进行侦测,并以某种特定的协议将信息发送到客户端,从而实现服务器与客户端之间的实时通讯。

本文来源:https://www.yuntue.com/post/208345.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注