Usuário com melhor resposta
Trigger de UPDATE para auditoria no SQL Server 2005.

Pergunta
-
Olá a todos!!!
Eu tenho um trigger de auditoria para eventos ddls, que loga em uma tabela os seguintes dados: comando, data, host e login. Segue o código abaixo. Mas, como eu posso fazer a mesma auditoria para dml??? Por exemplo, em um evento de UPDATE, logar os mesmos dados deste trigger de ddl, quando ocorrer o UPDATE, logar em uma tabela de log, o camando, a data, o host e o login??? Verifiquei algumas formas, inclusive aqui no msdn mas, encontrei pra logar os dados que estavam sendo alterados somente. Por gentileza, podem me dar uma ajuda???
-- create DDL trigger
CREATE TRIGGER [ddl_log]
ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS
DECLARE @data xml
DECLARE @cmd nvarchar(1000)
DECLARE @posttime nvarchar(24)
DECLARE @spid nvarchar(6)
DECLARE @loginname nvarchar(100)
DECLARE @hostname nvarchar(100)--SET @data = eventdata()
SET @cmd = @data.value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'nvarchar(1000)')
SET @posttime = @data.value('(/EVENT_INSTANCE/PostTime)[1]', 'nvarchar(24)')
SET @spid = @data.value('(/EVENT_INSTANCE/SPID)[1]','nvarchar(6)')
SET @loginname = @data.value('(/EVENT_INSTANCE/LoginName)[1]', 'nvarchar(100)')
SET @hostname = HOST_NAME()INSERT INTO dbo.audit_log(Command,PostTime,HostName,LoginName)
VALUES(@cmd, @posttime, @hostname, @loginname)SELECT @data
[]´s
PH.
Respostas
-
Olá,
Existem várias formas de realizar auditorias, uma delas é através de triggers dml:
no meu blog http://demetriosqlserver.spaces.live.com/blog/cns!1D50CF1AC3A02CDE!164.entry você pode encontrar uma procedure que gera triggers de auditoria e tb a tabela espelho para a mesma.
Procure também no fórum pois esta é uma pergunta bem recorrente.
Abraços
Demétrio Silva- Sugerido como Resposta Demétrio Silva sexta-feira, 17 de abril de 2009 20:14
- Marcado como Resposta phscuritiba quarta-feira, 22 de abril de 2009 15:21
-
Olá!
Neste link também tem um bom exemplo:
http://fernandorsql.spaces.live.com/blog/cns!2DB370A53DE517E2!230.entry?sa=618300061
Abraços,
Carol- Sugerido como Resposta Demétrio Silva sexta-feira, 17 de abril de 2009 20:13
- Marcado como Resposta phscuritiba quarta-feira, 22 de abril de 2009 15:21
Todas as Respostas
-
Olá,
Existem várias formas de realizar auditorias, uma delas é através de triggers dml:
no meu blog http://demetriosqlserver.spaces.live.com/blog/cns!1D50CF1AC3A02CDE!164.entry você pode encontrar uma procedure que gera triggers de auditoria e tb a tabela espelho para a mesma.
Procure também no fórum pois esta é uma pergunta bem recorrente.
Abraços
Demétrio Silva- Sugerido como Resposta Demétrio Silva sexta-feira, 17 de abril de 2009 20:14
- Marcado como Resposta phscuritiba quarta-feira, 22 de abril de 2009 15:21
-
Olá!
Neste link também tem um bom exemplo:
http://fernandorsql.spaces.live.com/blog/cns!2DB370A53DE517E2!230.entry?sa=618300061
Abraços,
Carol- Sugerido como Resposta Demétrio Silva sexta-feira, 17 de abril de 2009 20:13
- Marcado como Resposta phscuritiba quarta-feira, 22 de abril de 2009 15:21
-