Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TRIGGER [ddl_trg_Create_Database]
- ON ALL SERVER
- FOR CREATE_DATABASE
- AS
- declare @results varchar(max)
- declare @subjectText varchar(max)
- declare @databaseName VARCHAR(255)
- SET @subjectText = 'New database ceated - ' + @@SERVERNAME + ' by ' + SUSER_SNAME()
- SET @results =
- (SELECT EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)'))
- SET @databaseName = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]', 'VARCHAR(255)'))
- EXEC msdb.dbo.sp_send_dbmail
- @recipients = 'DBA_GROUP@SomeCompanyName.com',
- @body = @results,
- @subject = @subjectText,
- @exclude_query_output = 1
- GO
- ENABLE TRIGGER [ddl_trg_Create_Database] ON ALL SERVER
- GO
- USE [master];
- GO
- CREATE PROCEDURE dbo.SendDdlEmail
- (
- @EventData XML
- )
- AS
- SET NOCOUNT ON;
- DECLARE @Results NVARCHAR(MAX),
- @SubjectText NVARCHAR(MAX),
- @DatabaseName sysname;
- SET @SubjectText = N'New database created - ' + @@SERVERNAME + N' by ' + ORIGINAL_LOGIN();
- SET @Results =
- @EventData.value(N'(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', N'NVARCHAR(MAX)');
- SET @DatabaseName = @EventData.value(N'(/EVENT_INSTANCE/DatabaseName)[1]', N'sysname');
- EXEC msdb.dbo.sp_send_dbmail
- @recipients = 'DBA_GROUP@SomeCompanyName.com',
- @body = @Results,
- @subject = @SubjectText,
- @exclude_query_output = 1;
- GO
- GRANT EXECUTE ON [dbo].[SendDdlEmail] TO [xxxxxxxxxxxxx];
- GO
- CREATE TRIGGER [ddl_trg_Create_Database]
- ON ALL SERVER
- FOR CREATE_DATABASE
- AS
- SET NOCOUNT ON;
- DECLARE @EventData XML;
- SET @EventData = EVENTDATA();
- EXEC [master].[dbo].[SendDdlEmail] @EventData;
- GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement