누군가가 데이터베이스의 테이블을 변경하면 작동하지만 갑자기 중지됨 ... 데이터베이스가 여전히 전자 메일을 보낼 수 있음을 알리는 트리거가 있습니다. 더 많은 트리거 여전히 작동) 및 내 로그 테이블에 삽입, 그래서, 어떤 생각인지 작동합니까? 이메일에 관계없이 일어나고 삽입 이후SQL Server 트리거가 전자 메일을 보내지 않음
CREATE TRIGGER [_trALterTable]
ON DATABASE
FOR ALTER_TABLE, DROP_TABLE, CREATE_TABLE
AS
DECLARE @_SUBJECT NVARCHAR(MAX);
SELECT @_SUBJECT = EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
exec msdb.dbo.sp_send_dbmail
@profile_name = 'Notifications',
@recipients = '[email protected]',
@subject = @_SUBJECT,
@body = 'Changes on DB';
INSERT TriggerLog
SELECT @_SUBJECT, COALESCE(SUSER_SNAME(), USER_NAME()), GETDATE(), HOST_NAME() AS HostName;
GO
데이터베이스 메일 로그에있는 메시지는 무엇입니까? 또는 SQL Server 로그? – DMason
아니요. (그러나 로그에 삽입이 발생하는 동안 전자 메일 만 보내지는 않는다는 사실을 깨달았습니다 ... 삽입 된 메일의 다른 트리거로 이메일을 이동시킬 것입니다 ... – Rafa
글쎄 ... 하지만 그게 문제를 해결하는 더러운 방법 같아요. 어떤 식 으로든 누군가가 아이디어를 가지고 있다면 알려주세요. – Rafa