Pregunta

Un simple método que he utilizado en el pasado es básicamente la creación de una segunda tabla, cuya estructura refleja el deseo de auditoría y, a continuación, crear una actualización/desencadenador delete en la tabla principal.Antes de que un registro se actualiza, elimina, el estado actual se guarda en la tabla de auditoría a través de la activación.

Aunque eficaz, los datos en la tabla de auditoría no es la más útil o simple informe de.Me pregunto si alguien tiene un método mejor para la auditoría de cambios de datos?

No debe ser demasiado actualizaciones de muchos de estos registros, pero es información altamente confidencial, por lo que es importante para el cliente que todos los cambios son auditados y fácilmente informó en.

¿Fue útil?

Solución

Cómo escribir mucho vsla lectura de esta tabla(s) se puede esperar?

He utilizado una única tabla de auditoría, con columnas para la Tabla, Columna, OldValue NewValue, Usuario, y ChangeDateTime - genérico para trabajar con cualquier otro cambio en la DB, y mientras que una gran cantidad de datos obtenidos por escrito a la mesa, informa de que los datos eran escasos suficiente para que se pueda ejecutar en el bajo uso de los períodos del día.

Añadió: Si la cantidad de datos vspresentación de informes es una preocupación, la tabla de auditoría podría ser replicado en un sólo lectura servidor de base de datos, permitiendo la ejecución de informes cuando sea necesario sin colapsar el servidor maestro de hacer su trabajo.

Otros consejos

Estamos utilizando dos de la tabla de diseño para este.

Una tabla es la celebración de datos acerca de la transacción de datos (base de datos, nombre de la tabla, esquema, la columna, la aplicación que desencadenó la transacción, el nombre de host para el inicio de sesión que se inició la transacción, la fecha, el número de filas afectadas y un par más).

La segunda tabla es sólo utilizado para almacenar los datos de los cambios, de modo que podemos deshacer los cambios si es necesario y el informe sobre los viejos/nuevos valores.

Otra opción es utilizar una herramienta de terceros para de este, tales como ApexSQL Audit o Cambiar los Datos en función de Captura en SQL Server.

He encontrado estos dos enlaces útiles:

El uso de CLR y única tabla de auditoría.
La creación de un genérico de auditoría de la activación con SQL 2005 CLR

Uso de desencadenadores y auditoría independiente con mesa para cada tabla que está siendo auditada.
¿Cómo puedo auditar los cambios de datos de SQL Server?

¿Hay alguna auditoría incorporado paquetes?Oracle tiene un buen paquete, que incluso enviar auditoría de cambios a un servidor independiente fuera del acceso de cualquier tipo malo que es modificar el SQL.

Su ejemplo es impresionante...se muestra cómo alertar a nadie de la modificación de la auditoría de las tablas.

OmniAudit podría ser una buena solución para que usted necesita.Yo nunca he usado antes, porque estoy muy feliz de escribir mi propia auditoría de rutina, pero suena bien.

Yo uso el método descrito por Greg en su respuesta y rellenar la tabla de auditoría con un procedimiento almacenado llamado de la tabla de factores desencadenantes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top