Como criar uma DDL Trigger no SQL Server 2005
Essa dica mostra como podemos criar uma DDL (Data Definition Language) Trigger no SQL Server 2005, para monitorar eventos de create, alter, drop, grant, deny, revoke ou update statistics
Como criar uma DDL Trigger no SQL Server 2005
Postado em: 11 de julho de 2007 por Agnaldo em www.50minutos.com.br
Uma DDL Trigger responde aos comandos:
- CREATE, ALTER ou DROP - para objetos do SQL Server como DATABASE, TABLE, FUNCTION, PROCEDURE, VIEW, etc;
- GRANT, DENY ou REVOKE - para atribuições de permissão de acesso;
- UPDATE STATISTICS - nas atualizações de estatísticas.
Um exemplo de criação de uma DLL trigger que crie um log a cada manutenção feita numa tabela é:
CREATE DATABASE EXEMPLO_TRIGGER
GO
–
USE EXEMPLO_TRIGGER
–
CREATE TABLE LOG
(
MAQUINA SYSNAME DEFAULT HOST_NAME(),
DADOS XML
)
–
CREATE TRIGGER DDL_VIGIA_TABLE
ON DATABASE
FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE
AS
INSERT INTO LOG(DADOS) VALUES (EVENTDATA())
GO
–
CREATE TABLE PESSOA
(
COD INT IDENTITY, NOME VARCHAR(50)
)
–
SELECT * FROM LOG
–
ALTER TABLE PESSOA ADD PRIMARY KEY ( COD )
–
SELECT * FROM LOG
–
DROP TABLE PESSOA
–
SELECT * FROM LOG
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo