Ya no tienes que investigar más por todo internet porque estás al sitio exacto, contamos con la solución que buscas sin problemas.
Solución:
Otro aspecto importante de las tablas de auditoría que no se ha destacado hasta ahora es que, además de realizar un seguimiento de quién hizo qué en qué registro (a menudo incluye instantáneas de antes y después) las tablas de auditoría son de una sola escritura.
Registros en una tabla de auditoría no se puede actualizar ni eliminar (ver nota), solo se puede insertar. Esto a veces se impone mediante disparadores o tal vez solo la lógica de la aplicación, pero es importante en la práctica porque le brinda una “prueba” de que nada ha sido manipulado de una manera que es difícil de detectar.
Nota: La limpieza de registros antiguos de una tabla de auditoría requiere procesos especiales que a menudo deben ser aprobados por la gerencia o los auditores.
Las tablas de auditoría se utilizan para realizar un seguimiento de las transacciones en una tabla o tablas en particular. Le permiten ver un “registro” en curso (a falta de una palabra mejor). Por ejemplo, supongamos que tiene una tabla como esta:
create table SensitiveInformation
(
SensitiveNumber int not null,
SensitiveData varchar(100) not null
)
go
Puede haber usuarios y/o aplicaciones que tengan acceso para insertar, actualizar y eliminar de esa tabla. Pero debido a la naturaleza confidencial de esos datos, es posible que desee tener una forma rápida y fácil de rastrear quién está haciendo qué en esa tabla.
Entonces tiene una tabla de auditoría para rastrear lo que se está haciendo en esa tabla. Por lo general, eso incluirá lo básico Quién, Qué, Cuando.
Una tabla de auditoría podría verse así:
create table SensitiveInformationAudit
(
SensitiveNumberNew int null,
SensitiveNumberOld int null,
SensitiveDataNew varchar(100) null,
SensitiveDataOld varchar(100) null,
Action varchar(50) not null,
AuditDate datetime not null,
LastUpdatedUser varchar(100) not null
)
go
Las tablas de auditoría generalmente se completan mediante el uso de activadores de base de datos. En otras palabras, cuando X
la acción sucede en SensitiveInformation
inserte los detalles de la misma en SensitiveInformationAudit
.
Las tablas de auditoría generalmente se usan cuando desea realizar un seguimiento de los cambios en las tablas sensibles/confidenciales. Si hay una tabla que se utiliza para la tasa de pago y el porcentaje de bonificación, y la aplicación de recursos humanos remunera los salarios en función de estos datos, un usuario con acceso de escritura a esta tabla puede realizar modificaciones de pago no autorizadas.
Al mismo tiempo, algunos usuarios deberían poder trabajar en estas tablas. Aquí es donde entran las tablas de auditoría. Las tablas de auditoría se pueden usar para rastrear el valor anterior y posterior de los datos modificados. Por lo general, también guardan información adicional, como la persona que realizó el cambio y la hora en que se realizó el cambio.
Por lo tanto, estas tablas de auditoría disuaden a los usuarios facultados de realizar actividades no autorizadas. También proporcionan un medio para volver a los valores correctos.
SQL 2008 y versiones posteriores tienen una función integrada llamada Captura de datos modificados que se puede usar para esto.