У меня есть триггер, который отслеживает изменения в объектах базы данных. Ниже приведен код, когда я создал триггер:
CREATE TRIGGER db_trg_ObjectChanges
ON DATABASE
FOR ALTER_PROCEDURE, DROP_PROCEDURE,
ALTER_INDEX, DROP_INDEX,
ALTER_TABLE, DROP_TABLE, ALTER_TRIGGER, DROP_TRIGGER,
ALTER_VIEW, DROP_VIEW, ALTER_SCHEMA, DROP_SCHEMA,
ALTER_ROLE, DROP_ROLE, ALTER_USER, DROP_USER
AS
SET NOCOUNT ON
INSERT dbo.ChangeAttempt
(EventData, DBUser)
VALUES (EVENTDATA(), USER)
GO
Таблица dbo.ChangeAttempt имеет следующую структуру:
Column Data Type Constraints
------ --------- -----------
EventData xml NOT NULL
AttemptDate datetime NOT NULL DEFAULT GETDATE()
DBUser char(50) NOT NULL
Я бы хотел получать оповещения, если в таблице dbo.ChangeAttempt для текущей даты найдены какие-либо записи. В электронном письме просто будет сказано, что записи были найдены в dbo.ChangeAttempt на текущую дату. Я использую blat или bmail для отправки большинства моих предупреждений о мониторинге. Я выбираю операторы и выводю их в текстовый файл, а затем отправляю их мне по электронной почте.
Мой вопрос: как мне программно отправить предупреждение, если в dbo.ChangeAttempt были найдены записи на текущую дату (указание на попытку изменения базы данных)?