Last active
September 9, 2018 20:08
-
-
Save shaneis/12e08b4b9e081b49233c8032fd0d14ca to your computer and use it in GitHub Desktop.
Trigger to capture database creation and command used.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- region Server Trigger | |
IF EXISTS (SELECT * FROM sys.server_triggers WHERE name = N'NewDatabase') DROP TRIGGER NewDatabase ON ALL SERVER; | |
GO | |
CREATE TRIGGER NewDatabase | |
ON ALL SERVER | |
FOR CREATE_DATABASE | |
AS | |
SELECT EVENTDATA().value('(/EVENT_INSTANCE/ServerName)[1]', 'nvarchar(256)') AS ServerName, | |
EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]', 'nvarchar(128)') AS DatabaseName, | |
EVENTDATA().value('(/EVENT_INSTANCE/PostTime)[1]', 'datetime') AS CreateTime, | |
EVENTDATA().value('(/EVENT_INSTANCE/LoginName)[1]', 'nvarchar(256)') AS CreatedBy, | |
EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'nvarchar(max)') AS CreationCommand; | |
GO | |
-- endregion | |
-- region Simple Database | |
IF EXISTS (SELECT * FROM sys.databases WHERE [name] = N'NewOne') DROP DATABASE NewOne; | |
GO | |
CREATE DATABASE NewOne; | |
GO | |
-- endregion | |
-- region Database with options. | |
IF (SELECT value_in_use FROM sys.configurations WHERE name = N'contained database authentication') <> 1 BEGIN | |
EXEC sp_configure @configname = N'contained database authentication', @configvalue = 1; | |
RECONFIGURE | |
END | |
IF EXISTS (SELECT * FROM sys.databases WHERE [name] = N'NewYear') DROP DATABASE NewYear; | |
GO | |
CREATE DATABASE NewYear | |
CONTAINMENT = PARTIAL | |
WITH TWO_DIGIT_YEAR_CUTOFF = 2099; | |
GO | |
-- endregion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment