연구개발/DBA
데이터베이스 내 테이블 생성 감시 트리거(TRIGGER)
HEAD1TON
2011. 8. 22. 17:07
USE AdventureWorks;
GO
CREATE TABLE DB_LOG(MSG VARCHAR(1000), LOG_DT DATETIME DEFAULT GETDATE())
GO
CREATE TRIGGER DDL_TRG_NewTable
ON DATABASE
FOR CREATE_TABLE
AS
INSERT DB_LOG(MSG)
VALUES (EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'NVARCHAR(MAX)'))
GO
CREATE TABLE XXX(ID VARCHAR(100))
GO
SELECT * FROM DB_LOG;
GO
-------------------------------------------------------------------------------------
MSG LOG_DT
CREATE TABLE XXX(ID VARCHAR(100)) 2011-08-22 17:07:59.387
GO
CREATE TABLE DB_LOG(MSG VARCHAR(1000), LOG_DT DATETIME DEFAULT GETDATE())
GO
CREATE TRIGGER DDL_TRG_NewTable
ON DATABASE
FOR CREATE_TABLE
AS
INSERT DB_LOG(MSG)
VALUES (EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'NVARCHAR(MAX)'))
GO
CREATE TABLE XXX(ID VARCHAR(100))
GO
SELECT * FROM DB_LOG;
GO
-------------------------------------------------------------------------------------
MSG LOG_DT
CREATE TABLE XXX(ID VARCHAR(100)) 2011-08-22 17:07:59.387