Как выполнить триггер после достижения определенного порога? - PullRequest
1 голос
/ 13 августа 2010

У меня есть веб-приложение, которое регистрирует неверные попытки входа в таблицу базы данных.

Есть ли способ создать триггер на таблице, который запускается только после того, как определенное количество записей было создано в последние часы или около того, если не считать что-то вроде if count(*) > 100?

Конечная цель - отправить электронное письмо, если количество неудачных попыток входа в систему не соответствует норме.

Ответы [ 4 ]

1 голос
/ 13 августа 2010

Почему триггер?создать задания агента SQL, которые запускаются каждые n минут.Вы проверяете, есть ли за последний час более 100 неверных попыток входа в систему, если это правда, запустите почтовый процесс базы данных с подробностями, найдите sp_send_dbmail

1 голос
/ 13 августа 2010

Создайте триггер, который запускается для каждого случая, и проследите, чтобы критерии для дальнейших действий были выполнены. Если дальнейшие действия нежелательны (например, для попытки 102 в последний час), вы можете записать время, когда оно в последний раз предприняло такое действие, в другой таблице, а затем указать, что это должно быть> 100 неудачных попыток в час И это должно быть час с момента последнего такого действия.

1 голос
/ 13 августа 2010

Не делайте этого с триггером.Создайте задание для отслеживания количества неудачных входов в систему за последний час и отправьте электронное письмо, если оно превышает определенный порог.Работайте ежечасно.

0 голосов
/ 13 августа 2010

Вы не можете.Лучший вариант - поставить чек внутри самого триггера.

...