SQL 服务器中的套接字编程/信令更改

Socket programing/ Signaling changes in SQL Server

有什么方法可以使用 SQL 语言与套接字进行通信吗? (为什么?)假设,我手动打开 SQL Server Management Studio 并打开一个 table,然后手动插入一条记录(手动我想强调两者之间没有任何中间件)。此时,业务要求将插入的记录发送到另一个上下文(作为通知或报告(即网格视图等))。

我想到的解决方案是将插入的记录写入文件并使用另一个应用程序监视文件的更改(再次强调我根本不想通过中间件来做到这一点),但是这个方法不是实现此要求的标准方法,它更像是一种变通方法。

是否有任何标准方法使用纯 SQL 服务器 syntax/features 来指示更改?

您可以有一个 SQLCLR 例程,每当发生更改时调用 "something"。在我工作的地方,我们将数据从 SQL 服务器实时流式传输到 RabbitMQ。在你的情况下,你必须在 table 上有一个触发器,它调用例程。

在我们的例子中,我们总是通过存储过程更改数据,因此我们的过程调用 SQLCLR 例程。

您还可以使用 Service Broker 和外部激活。在我们的案例中,我们选择不这样做,因为性能不够好。

如果你愿意,我有一篇博客-post 关于 SQL 服务器 -> 使用 SQLCLR 的 RabbitMQ 集成。显然它不一定是 Rabbit,我们也通过套接字连接等完成了它。因此,如果您有兴趣,post 是 here

希望对您有所帮助!

尼尔斯