我正在研究在SQL服务器上触发器的可能性,在我的网站上触发一个函数(不必每隔x分钟轮询一次)。
原因是,我正在尝试为我的SQL数据创建一个缓存服务,只有在对其设置的表进行更改时才会更新缓存。我们的想法是,数据库中的项目很少被改变和使用,经常想要跳过昂贵的数据库之旅。
任何想法都会很棒,谢谢。
答案 0 :(得分:1)
SQL Server仅支持针对此类问题的事件通知。
http://msdn.microsoft.com/en-us/library/ms190427(v=sql.105).aspx
答案 1 :(得分:1)
如果要将数据放入应用程序缓存中,则可以考虑使用SqlCacheDependency类(http://msdn.microsoft.com/en-us/library/ms178604(v=vs.100).aspx)。当数据库中存在预定义的更改时,这将使缓存失效,从而避免需要任何类型的轮询。
当然,这取决于您的确切问题是否能满足您的需求
答案 2 :(得分:1)
SQL Server具有CLR集成(尽管最后检查,仅与.NET 2.0一起使用)。这意味着您可以从函数/存储过程/查询中运行一些标记为这样的程序集。这是文档:
MSDN SQL Server CLR description
您可以使用SQL Server的公开方法编写程序集并直接从那里运行它,从而完成您选择的C#/ VB / .NET语言的循环。如果上述答案都没有你想要的东西,这可能会有点沉重,但我非常确定提供最灵活的方法来控制一切。