2010-08-13 82 views
1

我有一个Web应用程序,它将无效的登录尝试记录到数据库表中。如何在达到特定阈值后执行触发器?

有没有办法在表格上创建一个触发器,只有在最近几小时左右创建了一定数量的记录后才能运行,缺少类似if count(*) > 100的东西?

最终目标是发送电子邮件,如果登录尝试失败次数异常。

回答

1

为什么触发器?创建一个每n分钟运行一次的SQL代理作业。您是否在过去一小时,其中有超过100次无效的登录尝试,如果这是真的运行数据库邮件PROC与细节,查找sp_send_dbmail

+0

听起来像一个更好的方法 - 谢谢。 – chris 2010-08-13 14:18:05

0

你不能。最好的选择是将检查放入触发器本身。

1

创建的每一种情况下运行的触发,并将它是否采取进一步行动的条件得到满足。如果继续采取的行动不想要(比如,在过去一小时尝试102),你可以将它记录在另一张表最后采取了这样的行动时,则会使它必须> 100失败每小时尝试的标准和它必须是一个自上次这种行为以来的小时数。

1

不要用触发器来做到这一点。创建一个作业来监视过去一小时内失败的登录次数,如果超过某个阈值,则发送一封电子邮件。让它每小时运行一次。

相关问题