2010-10-14 8 views
6

? Hay una tabla en mi base de datos que contiene 100 columnas. Quiero crear un disparador para auditar la modificación para cada operación de actualización.¿Existe una manera elegante de seguir la modificación de todas las columnas de una tabla en SQL Server 2008

Lo que puedo pensar es crear la cláusula de actualización para todas las columnas, pero todas son secuencias de comandos similares. Entonces, ¿hay alguna forma elegante de hacer eso?

+0

Solo puedo pensar en métodos obvios de "fuerza bruta". Esperando ver soluciones "elegantes" para esto. –

Respuesta

3

Comprobar Change Data Capture

actualización
CDC proporciona un seguimiento de todos los detalles de los cambios. Disponible desde SQL Server 2008.

(captura de datos modificados sólo está disponible en el Enterprise, Developer y Evaluation ediciones de SQL Server Fuente:. http://msdn.microsoft.com/en-us/library/bb522489.aspx)

Más solución ligera es Change Tracking (Sync Framework) , el code4life mentioned before, disponible desde SQL Server 2005.

Update2:
preguntas relacionadas (con una gran cantidad de subenlaces):

+0

+1 mejor opción en SQL Server 2008 y posteriores –

+0

Requiere Enterprise Edition. –

+0

Divertido, recuerdo que he leído que los CDC requieren EE pero no pueden encontrar ninguna referencia.ChangeTracking es independiente de la edición, ¿correcto? –

0

Teóricamente, puede usar 1 activador y verificar COLUMNS_UPDATED() para saber qué columnas han cambiado. (no se va a ensayar) Ver más here

Cuestiones relacionadas