프로시져나 뷰, 펑션등을 수정할때마다 쏘스를 저장하는 방법

http://www.sqler.com/491522

툴은 아니고 프로시져나 뷰, 펑션등을 수정할때마다 쏘스를 저장하는 방법이 있습니다.

DDL 트리거를 이용합니다.

CREATE TABLE dbo.SPLOG(

일련번호 int IDENTITY(1,1) NOT NULL,

오브젝트명 varchar(100) NULL,

구분 varchar(20) NULL,

SQLCMD varchar(max) NULL,

수정자 varchar(20) NULL,

수정일 datetime NULL,

 CONSTRAINT XPKSPLOG PRIMARY KEY NONCLUSTERED 

(

일련번호 ASC

))

GO

CREATE TRIGGER TRG_SPLOG ON DATABASE

FOR

CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE,

CREATE_VIEW, ALTER_VIEW, DROP_VIEW,

CREATE_FUNCTION, ALTER_FUNCTION, DROP_FUNCTION,

CREATE_TRIGGER, ALTER_TRIGGER, DROP_TRIGGER

AS

DECLARE @DATA XML

SET @DATA = EVENTDATA()

INSERT INTO DBO.SPLOG (오브젝트명, 구분, SQLCMD, 수정자, 수정일)

VALUES

(@DATA.value(‘(/EVENT_INSTANCE/ObjectName)[1]’, ‘VARCHAR(100)’),

 @DATA.value(‘(/EVENT_INSTANCE/EventType)[1]’, ‘VARCHAR(100)’),

 @DATA.value(‘(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]’, ‘VARCHAR(MAX)’),

 HOST_NAME(),

 GETDATE())

composite / 2012년 4월 27일 / 미분류

Comments

  1. nike - 2013년 7월 10일 @ 9:06 오전

    당신 매력있어, 자기가 얼마나 매력있는지 모르는게 당신매력이야

    Reply

답글 남기기

Your email address will not be published / Required fields are marked *