04/05/2011, 04:17
|
| | Fecha de Ingreso: diciembre-2007 Ubicación: España
Mensajes: 51
Antigüedad: 17 años Puntos: 1 | |
Respuesta: Saber quién modifica datos en una tabla Hola a todos,
al final he encontrado una forma mucho más fácil de hacerlo. Por un lado me creo una tabla donde voy a insertar la información que necesito del update que se realice sobre la tabla que deseo auditar. La tabla donde inserto esta información es la siguiente:
CREATE TABLE dbo.logTransacciones (
PK varchar(1000),
ValorOriginal varchar(1000),
ValorNuevo varchar(1000),
FechaTrn datetime,
Usuario varchar(128))
GO
A continuación me creo un trigger que me audite los update realizados sobre la tabla t_pedidos. El trigger es el siguiente:
ALTER TRIGGER dbo.TriggerUpdate ON dbo.t_pedidos FOR UPDATE
AS
SET NOCOUNT ON
INSERT INTO dbo.logTransacciones
(PK,ValorNuevo,ValorOriginal,FechaTrn, Usuario)
SELECT I.id,I.descripcion_anexo,D.descripcion_anexo, getdate(), system_user
FROM INSERTED I
INNER JOIN DELETED D ON
I.id = D.id
AND I.descripcion_anexo <> D.descripcion_anexo
GO
Como podéis comprobar, obtengo la primary key de la línea que se está actualizando, el valor antiguo y nuevo del campo que se está modificando, la fecha de actualización y el usuario que la realiza.Sólo me queda un pequeño detalle, ¿hay alguna forma de saber que aplicación está realizando la actualización o la conexión con la BD?Es que tengo varias aplicaciones que modifican la BD.
Muchas gracias |