Transaction

16/09/2004 - 19:00 por Heidi | Informe spam
Hola a todos!

Tengo un problemota, porque ayer alguien ingresó un
registro a una tabla y a los 10 minutos máximo lo volvió a
borrar.

Puedo de alguna forma consultar el log de transacciones
para poder probar que si lo hizo así?, es decir algo que
me ayude a ver en el log de transacciones si eliminaron o
no registros si los insertario y quién lo hizo?.

O alguna tora idea de cómo saber esto?

Muchas gracias
 

Leer las respuestas

#1 ulises
16/09/2004 - 21:18 | Informe spam
Si tienes herramientas de terceros como SQL Log Explorer o
ApexLog es fácil realizar ese tipo de consulta, en todo
caso en http://www.portalsql.com hay una colaboración de
Sergio Monteiro sobre la forma de leer el Log, que es
bastante laborioso por cierto.

Si tienes el nombre de la tabla y el UID del usuario(que
lo puedes sacar de sysusers) puedes ejecutar también esta
consulta :

SELECT *
from ::fn_dblog (NULL,NULL)
where Substring([Current LSN],1,18) IN ( select Substring
([Current LSN],1,18) from ::fn_dblog (NULL,NULL) where
[Object Name] LIKE 'dbo.prueba%' )
AND Substring([Current LSN],1,18) IN ( select Substring
([Current LSN],1,18) from ::fn_dblog (NULL,NULL) where
[UID] = 6 )
AND Substring([Current LSN],1,18) IN ( select Substring
([Current LSN],1,18) from ::fn_dblog (NULL,NULL) where
[Operation] IN ('LOP_DELETE_ROWS','LOP_INSERT_ROWS') )

p.e. :

Current LSN Operation
0000001b:000000d0:0004 LOP_DELTA_SYSIND ...
0000001b:000000d0:0005 LOP_COMMIT_XACT ...
0000001b:000000d0:0001 LOP_BEGIN_XACT ...
0000001b:000000d0:0002 LOP_INSERT_ROWS ...
0000001b:000000d0:0003 LOP_SET_FREE_SPACE ...
0000001b:000000d1:0004 LOP_DELTA_SYSIND ...
0000001b:000000d1:0005 LOP_COMMIT_XACT ...
0000001b:000000d1:0001 LOP_BEGIN_XACT ...
0000001b:000000d1:0002 LOP_DELETE_ROWS ...
0000001b:000000d1:0003 LOP_SET_FREE_SPACE ...

(10 row(s) affected)

te traerá todos las transacciones en lo cuales haya
eliminado o insertado en la tabla "prueba" el usuario cuyo
UID sea 6, luego de ello puedes revisar el campo "Row
Data", en ella verás los datos del registro insertado o
eliminado.

Saludos,
Ulises
Hola a todos!

Tengo un problemota, porque ayer alguien ingresó un
registro a una tabla y a los 10 minutos máximo lo volvió


a
borrar.

Puedo de alguna forma consultar el log de transacciones
para poder probar que si lo hizo así?, es decir algo que
me ayude a ver en el log de transacciones si eliminaron o
no registros si los insertario y quién lo hizo?.

O alguna tora idea de cómo saber esto?

Muchas gracias
.

Preguntas similares