Nous avons des centaines de tables et de plus en plus et utiliser des déclencheurs. Dans les versions plus récentes de SQL Server, vous pouvez utiliser Change Data Capture ou Change Tracking, mais nous ne les avons pas trouvées adéquates pour l'audit. Ce que nous avons est deux tables d'audit séparées pour chaque table (une pour enregistrer les détails de l'instance (1 ligne même si vous avez mis à jour un million d'enregistrements) et une pour enregistrer les anciennes et nouvelles valeurs réelles), mais chaque a la même structure et est créé en exécutant un processus SQL dynamique qui recherche les tables non vérifiées et crée les déclencheurs d'audit. Ce proc est exécuté chaque fois que nous déployons.
Ensuite, vous devriez également prendre le temps d'écrire un proc pour retirer les données des tables d'audit si vous voulez restaurer les anciennes valeurs. Cela peut être difficile d'écrire à la volée avec cette structure, il est donc préférable de l'avoir à portée de main avant que le PDG ne regarde votre cou pendant que vous restaurez les 50 000 utilisateurs accidentellement supprimés.
"Déclencheurs, bien que peu maniables et un cauchemar d'entretien" = déchets. – gbn
@gbn, mes pensées exactement – HLGEM