我想编写一个监视数据库表的服务(可能在 c# 中)。当一条记录插入到表中时,我希望服务获取新插入的数据,并用它执行一些复杂的业务逻辑(对于 TSQL 来说太复杂了)。
一种选择是让服务定期检查表以查看是否已插入新记录。这样做的问题是我希望服务在插入发生时立即知道插入,并且我不想破坏数据库性能。
做一些研究,似乎写一个 CLR 触发器可以完成这项工作。我可以在 c# 中编写在插入发生时触发的触发器,然后将新插入的数据发送到 Windows 或 WCF 服务。
您认为 SQL CLR 触发器的使用是否良好(甚至可能)?
关于如何实现这一点的任何其他想法?