Nachverfolgen von änderungen in einer SQL server 2005 Datenbank

Ich wurde beauftragt mit der Entwicklung einer Lösung, die verfolgt änderungen an einer Datenbank.

Für updates, die ich brauche, um zu erfassen:

  • Datum der Aktualisierung
  • alten Wert
  • neuen Wert
  • betroffene Feld
  • person zu tun, ändern
  • Datensatz-id
  • - Tabelle-Datensatz ist in

Für gelöscht:

  • Datum löschen
  • person zu tun, löschen
  • Die Titel/Beschreibung/id des gelöschten Datensatzes. Die Tabellen bin ich das nachverfolgen von änderungen auf alle haben ein title-oder description-Feld. Ich möchte zu bannen, bevor der Datensatz gelöscht wird.
  • - Tabelle-Datensatz wurde in

Für Einsätze:

  • Datum einfügen
  • person zu tun, ändern
  • Datensatz-id
  • - Tabelle-Datensatz ist in

Habe ich daran gedacht, ein paar Möglichkeiten, dies zu tun:

  • Ich bin mit stored procedures für updates/deletes/inserts. Ich würde eine generische "tracking" Tabelle. Es würde genügend Felder zur Erfassung aller Daten. Ich würde dann fügen Sie eine weitere Zeile in jede gespeicherte Prozedur, um die Wirkung von "Datensatz Einfügen" in der tracking-Tabelle".
    • Nachteil: alle updates/deletes/inserts sind alle wirre in der gleichen Tabelle
    • viele Felder Genullt,
    • wie kann ich verfolgen, batch-updates/deletes/inserts? <---- dies könnte nicht ein Problem sein. Ich habe nicht wirklich eine Sache wie diese in die Anwendung.
    • wie kann ich erfassen, dass der Nutzer das update. Die Datenbank sieht nur ein Konto.
    • Bearbeiten viel bestehenden code zu Bearbeiten.
  • Schließlich konnte ich erstellen Sie einen trigger, der aufgerufen wird, nachdem updates/deletes/inserts. Viele der gleichen Nachteile, wie die erste Lösung, außer: ich hätte zu Bearbeiten, wie viel code. Ich bin mir nicht sicher, wie ich den track updates. Es sieht nicht wie es ist ein Weg, mit Trigger zu sehen, vor kurzem aktualisierten Datensätze.

Ich bin mit asp.net, C#, sql server 2005, iis6, windows 2003. Ich habe kein budget, so traurig es ist, ich kann nichts kaufen, mir damit zu helfen.

Dank für Eure Antworten!

InformationsquelleAutor Brian Bolton | 2008-11-18
Schreibe einen Kommentar