我想创建一个触发器,它通过电子邮件向我发送在服务器中创建的数据库的名称。每当创建数据库时,我都会收到一封电子邮件。请帮忙。带示例的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)。如果您添加试图发送电子邮件的代码,但无法使其正常工作,请回到此处,并提供有关该代码的特定问题。 –