Difference between revisions of "DdlDatabaseTriggerLog (database trigger)"

From dbscript Online Help
Jump to: navigation, search
Line 4: Line 4:
 
|-
 
|-
 
| '''databasetrigger
 
| '''databasetrigger
| .ddlDatabaseTriggerLog
+
| ddlDatabaseTriggerLog
 
|- valign="top"
 
|- valign="top"
  
Line 60: Line 60:
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
|- style="background:silver"
 +
| '''Dependency Type
 +
| '''Object Type
 
| '''Referenced Object
 
| '''Referenced Object
| '''Object Type
 
| '''Dependency Type
 
  
 
|-
 
|-
 +
| Insert
 +
| Table
 
| [[dbo.DatabaseLog_(table)|dbo.DatabaseLog]]
 
| [[dbo.DatabaseLog_(table)|dbo.DatabaseLog]]
| Table
+
 
| Insert
 
 
|}
 
|}

Revision as of 07:39, 30 November 2009

automatically generated

databasetrigger ddlDatabaseTriggerLog

CREATE TRIGGER [ddlDatabaseTriggerLog] ON DATABASE 
FOR DDL_DATABASE_LEVEL_EVENTS AS 
BEGIN
    SET NOCOUNT ON;

    DECLARE @data XML;
    DECLARE @schema sysname;
    DECLARE @object sysname;
    DECLARE @eventType sysname;

    SET @data = EVENTDATA();
    SET @eventType = @data.value('(/EVENT_INSTANCE/EventType)[1]', 'sysname');
    SET @schema = @data.value('(/EVENT_INSTANCE/SchemaName)[1]', 'sysname');
    SET @object = @data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'sysname') 

    IF @object IS NOT NULL
        PRINT '  ' + @eventType + ' - ' + @schema + '.' + @object;
    ELSE
        PRINT '  ' + @eventType + ' - ' + @schema;

    IF @eventType IS NULL
        PRINT CONVERT(nvarchar(max), @data);

    INSERT [dbo].[DatabaseLog] 
        (
        [PostTime], 
        [DatabaseUser], 
        [Event], 
        [Schema], 
        [Object], 
        [TSQL], 
        [XmlEvent]
        ) 
    VALUES 
        (
        GETDATE(), 
        CONVERT(sysname, CURRENT_USER), 
        @eventType, 
        CONVERT(sysname, @schema), 
        CONVERT(sysname, @object), 
        @data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(max)'), 
        @data
        );
END;


Dependency Type Object Type Referenced Object
Insert Table dbo.DatabaseLog