Ayuda en Como registrar Auditorias de Ciertas tablas (Usar Trigger o No?)

09/02/2006 - 17:01 por Developers | Informe spam
Amigos, necesito que por favor me orienten en este problema que tengo.
Haber.
Tengo esta estructura de Tabla llamado DetalleAlmacen.
Tabla DetalleAlmacen
Fec_Mov Datetime
Alm_Mov Char(2)
Doc_Mov Char(10)
Cod_Prod Char(8)
Cant_Mov Decimal(10,4)
y.. Otros campos adicionales

Data de ejemplo:
Fec_Mov Alm_Mov Doc_Mov Cod_Prod Cant_Mov
15/01/2005 02 001-12345 1111111 10
15/01/2005 02 005-85742 4545454 5
13/01/2005 10 001-41154 7454545 100
25/01/2005 02 001-17884 5457861 59

Necesito tener otra tabla parecida a la estructura anterior pero para
efectos de auditoria, es decir con esta estructura
Tabla DetalleAlmacenAud
Fec_Mov Datetime
Alm_Mov Char(2)
Doc_Mov Char(10)
Cod_Prod Char(8)
Cant_mov Decimal(10,4)
Fec_Oper Datetime
Tipo_Oper Char(1)
Usuario Char(10)

los Campos siguientes tendrian :
Fec_Oper = Dia que realizo la Transacción
Tipo_Oper= Tipo de Operacion Realizada ((I)nsert,(D)elete,(U)pdate,(R)ecuperacion)

Su data de esta tabla tendria asi:
Data de ejemplo:
Fec_Mov Alm_Mov Doc_Mov Cod_Prod Cant_Mov Fec_Oper Tipo_Oper
15/01/2005 02 001-12345 1111111 5 15/01/2005 I
15/01/2005 02 001-12345 1111111 10 18/01/2005 U
15/01/2005 02 005-85742 4545454 5 15/01/2005 I
13/01/2005 10 001-41154 7454545 20 13/01/2005 I
13/01/2005 10 001-41154 7454545 100 20/01/2005 U
25/01/2005 02 001-17884 5457861 59 25/01/2005 I

Esta data es mas detallada que la Data Original porque contiene todas las operaciones
realizadas con los documentos(Especie de Historial)

Entonces mi duda es Si usar Trigger (Insert,Delete,Update) para realizar esta tarea
o Programarlo manualmente mediante Store Procedure


Gracias

Developers - Dany Acosta
 

Leer las respuestas

#1 Maxi
09/02/2006 - 17:12 | Informe spam
Hola, si los efectos de una auditoria es saber que fue pasando con la data
en bien se produjo el cambio entonces yo usuaria triggers. Si lo pones en un
SP tienes el problema de que si por otro lado alguien actualiza algo (por ej
un paquete DTS) no se veria reflejada en la aplicacion :(


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Developers" escribió en el mensaje
news:%
Amigos, necesito que por favor me orienten en este problema que tengo.
Haber.
Tengo esta estructura de Tabla llamado DetalleAlmacen.
Tabla DetalleAlmacen
Fec_Mov Datetime
Alm_Mov Char(2)
Doc_Mov Char(10)
Cod_Prod Char(8)
Cant_Mov Decimal(10,4)
y.. Otros campos adicionales

Data de ejemplo:
Fec_Mov Alm_Mov Doc_Mov Cod_Prod Cant_Mov
15/01/2005 02 001-12345 1111111 10
15/01/2005 02 005-85742 4545454 5
13/01/2005 10 001-41154 7454545 100
25/01/2005 02 001-17884 5457861 59

Necesito tener otra tabla parecida a la estructura anterior pero para
efectos de auditoria, es decir con esta estructura
Tabla DetalleAlmacenAud
Fec_Mov Datetime
Alm_Mov Char(2)
Doc_Mov Char(10)
Cod_Prod Char(8)
Cant_mov Decimal(10,4)
Fec_Oper Datetime
Tipo_Oper Char(1)
Usuario Char(10)

los Campos siguientes tendrian :
Fec_Oper = Dia que realizo la Transacción
Tipo_Oper= Tipo de Operacion Realizada
((I)nsert,(D)elete,(U)pdate,(R)ecuperacion)

Su data de esta tabla tendria asi:
Data de ejemplo:
Fec_Mov Alm_Mov Doc_Mov Cod_Prod Cant_Mov Fec_Oper
Tipo_Oper
15/01/2005 02 001-12345 1111111 5 15/01/2005 I
15/01/2005 02 001-12345 1111111 10 18/01/2005 U
15/01/2005 02 005-85742 4545454 5 15/01/2005 I
13/01/2005 10 001-41154 7454545 20 13/01/2005 I
13/01/2005 10 001-41154 7454545 100 20/01/2005 U
25/01/2005 02 001-17884 5457861 59 25/01/2005 I

Esta data es mas detallada que la Data Original porque contiene todas las
operaciones
realizadas con los documentos(Especie de Historial)

Entonces mi duda es Si usar Trigger (Insert,Delete,Update) para realizar
esta tarea
o Programarlo manualmente mediante Store Procedure


Gracias

Developers - Dany Acosta

Preguntas similares