CREATE TRIGGER tddl_storedprocevents ON DATABASE
FOR
CREATE_PROCEDURE,ALTER_PROCEDURE,DROP_PROCEDURE
AS
INSERT INTO AUDIT_TABLE(EventType, SQLCommand, etc)
SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(max)')
, etc
/*
EVENTDATA()
SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/PostTime)[1]', 'datetime')
, EVENTDATA().value('(/EVENT_INSTANCE/SPID)[1]', 'nvarchar(4)')
, EVENTDATA().value('(/EVENT_INSTANCE/ServerName)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/LoginName)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/LoginType)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/SID)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'nvarchar(512)')
, EVENTDATA().value('(/EVENT_INSTANCE/IsPooled)[1]', 'nvarchar(1)')
etc
*/
DROP TRIGGER tddl_storedprocevents ON DATABASE
Я рекомендую прочитать документацию об объекте xml, возвращаемом EVENTDATA (), если вы этого еще не сделали.
Надеюсь, это поможет.