SQL Server 預存程序版本控制-DDL觸發器

來源:互聯網
上載者:User

標籤:

預存程序版本控制-DDL觸發器–參考:預存程序版本控制http://enjoyasp.net/?p=2431 CREATE TABLE [dbo].[ChangeLog]([LogId] [int] IDENTITY(1,1) NOT NULL,[DatabaseName] [varchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,[EventType] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,[ObjectName] [varchar](256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,[ObjectType] [varchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,[SqlCommand] [nvarchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,[EventDate] [datetime] NOT NULL CONSTRAINT [DF_EventsLog_EventDate]  DEFAULT (getdate()),[LoginName] [varchar](256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,        [IP] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY]  ALTER trigger backup_objectson ALL SERVER –all server 所有資料庫上的操作。database:當前資料庫的操作。On用來指定範圍for create_procedure, alter_procedure, drop_procedure,create_table, alter_table, drop_table,create_view, alter_view, drop_view,create_function, alter_function, drop_functionasset nocount ondeclare @data xml set @data = EVENTDATA()insert into BRM_TEST.dbo.changelog(databasename, eventtype, objectname, objecttype, sqlcommand, loginname,IP) values( @data.value(‘(/EVENT_INSTANCE/DatabaseName)[1]‘, ‘varchar(256)‘), @data.value(‘(/EVENT_INSTANCE/EventType)[1]‘, ‘varchar(50)‘), @data.value(‘(/EVENT_INSTANCE/ObjectName)[1]‘, ‘varchar(256)‘), @data.value(‘(/EVENT_INSTANCE/ObjectType)[1]‘, ‘varchar(25)‘), @data.value(‘(/EVENT_INSTANCE/TSQLCommand)[1]‘, ‘varchar(max)‘), @data.value(‘(/EVENT_INSTANCE/LoginName)[1]‘, ‘varchar(256)‘),CONVERT(VARCHAR(50),CONNECTIONPROPERTY(‘client_net_address‘) ) )GO–DDL觸發器http://msdn.microsoft.com/zh-cn/library/ms175941.aspx –查看伺服器層級的觸發器 SELECT TOP 50 * FROM sys.server_triggers  –查看伺服器層級的觸發器的定義 SELECT * FROM sys.server_sql_modules  –查看激發觸發器的資料庫事件的資訊 SELECT TOP 50 * FROM sys.server_trigger_events –刪除伺服器上的DDL觸發器 DROP TRIGGER backup_objects ON ALL SERVER –失效DDL觸發器DISABLE TRIGGER backup_objects ON ALL SERVER –擷取有關資料庫範圍內的觸發器的資訊 SELECT * FROM sys.triggers  –擷取有關激發觸發器的資料庫事件的資訊 SELECT * FROM sys.trigger_events  –查看資料庫範圍內的觸發器的定義 SELECT * FROM sys.sql_modules  –刪除當前資料庫上的DDL觸發器 DROP TRIGGER backup_objects ON DATABASE

 

SQL Server 預存程序版本控制-DDL觸發器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.