Jeg har med stor succes brugt en model, hvor hver tabel har en revisionskopi - den samme tabel med et par ekstra felter (tidsstempel, bruger-id, operationstype) og 3 triggere på den første tabel for indsæt/opdater/slet.
Jeg synes, det er en meget god måde at håndtere dette på, fordi tabeller og triggere kan genereres fra en model, og der er lidt overhead fra et ledelsesperspektiv. Applikationen kan bruge tabellerne til at vise en revisionshistorik for brugeren (læs -kun).