我想編寫一個監視數據庫表的服務(可能在c#中)。當一個記錄被插入到表中時,我希望服務獲取新插入的數據,並用它執行一些複雜的業務邏輯(對TSQL來說太複雜)。SQL CLR觸發器可以執行此操作嗎?或者,還有更好的方法?
一種選擇是讓服務定期檢查表以查看是否插入了新記錄。這樣做的問題在於,我希望服務在發生插入後立即知道,而且我不想殺死數據庫性能。
做了一點研究,似乎可能寫一個CLR觸發器可以完成這項工作。我可以在發生插入時觸發c#中的觸發器,然後將新插入的數據發送到Windows或WCF服務。
您如何看待SQL CLR觸發器的使用(甚至可能)?
有關如何完成此任何其他想法?
準確地說,我即將建議。它將事務安全,並將處理和未處理的記錄保存在不會影響主應用程序表的表中。 +1這個解決方案! – evilhomer 2009-01-08 23:34:21
使用SQL Server Service Broker – 2009-02-10 23:49:45