Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. CREATE TRIGGER [ddl_trg_Create_Database]
  2. ON ALL SERVER
  3. FOR CREATE_DATABASE
  4. AS
  5. declare @results varchar(max)
  6. declare @subjectText varchar(max)
  7. declare @databaseName VARCHAR(255)
  8. SET @subjectText = 'New database ceated - ' + @@SERVERNAME + ' by ' + SUSER_SNAME()
  9. SET @results =
  10. (SELECT EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)'))
  11. SET @databaseName = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]', 'VARCHAR(255)'))
  12.  
  13. EXEC msdb.dbo.sp_send_dbmail
  14. @recipients = 'DBA_GROUP@SomeCompanyName.com',
  15. @body = @results,
  16. @subject = @subjectText,
  17. @exclude_query_output = 1
  18. GO
  19.  
  20. ENABLE TRIGGER [ddl_trg_Create_Database] ON ALL SERVER
  21. GO
  22.  
  23. USE [master];
  24. GO
  25. CREATE PROCEDURE dbo.SendDdlEmail
  26. (
  27. @EventData XML
  28. )
  29. AS
  30. SET NOCOUNT ON;
  31. DECLARE @Results NVARCHAR(MAX),
  32. @SubjectText NVARCHAR(MAX),
  33. @DatabaseName sysname;
  34.  
  35. SET @SubjectText = N'New database created - ' + @@SERVERNAME + N' by ' + ORIGINAL_LOGIN();
  36.  
  37. SET @Results =
  38. @EventData.value(N'(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', N'NVARCHAR(MAX)');
  39.  
  40. SET @DatabaseName = @EventData.value(N'(/EVENT_INSTANCE/DatabaseName)[1]', N'sysname');
  41.  
  42. EXEC msdb.dbo.sp_send_dbmail
  43. @recipients = 'DBA_GROUP@SomeCompanyName.com',
  44. @body = @Results,
  45. @subject = @SubjectText,
  46. @exclude_query_output = 1;
  47. GO
  48.  
  49. GRANT EXECUTE ON [dbo].[SendDdlEmail] TO [xxxxxxxxxxxxx];
  50. GO
  51.  
  52. CREATE TRIGGER [ddl_trg_Create_Database]
  53. ON ALL SERVER
  54. FOR CREATE_DATABASE
  55. AS
  56. SET NOCOUNT ON;
  57.  
  58. DECLARE @EventData XML;
  59. SET @EventData = EVENTDATA();
  60.  
  61. EXEC [master].[dbo].[SendDdlEmail] @EventData;
  62. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement