我想創建一個觸發器,它通過電子郵件向我發送在服務器中創建的數據庫的名稱。每當創建數據庫時,我都會收到一封電子郵件。請幫忙。帶示例的DDL觸發器
我曾嘗試下面的代碼只是返回打印語句,但不工作:
IF EXISTS (SELECT * FROM sys.server_triggers
WHERE name = 'ddl_trig_database')
DROP TRIGGER ddl_trig_database
ON ALL SERVER;
GO
CREATE TRIGGER ddl_trig_database
ON ALL SERVER
FOR CREATE_DATABASE
AS
PRINT 'Database Created.'
SELECT EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
GO
DROP TRIGGER ddl_trig_database
ON ALL SERVER;
GO
你觸發工作正常,我。當然,在這個確切的腳本中,您將放棄觸發器(如果存在),然後創建觸發器,然後再次刪除它。接下來的問題是如何讓它發送給你一封電子郵件; [有很多答案](http://stackoverflow.com/search?tab=votes&q=%5bsql-server%5d%20send%20e-mail)。如果您添加試圖發送電子郵件的代碼,但無法使其正常工作,請回到此處,並提供有關該代碼的特定問題。 –