# [MS SQL] Änderungen nachverfolgen



## DexXxtrin (16. März 2016)

Hallo Zusammen


Ich habe eine ziemlich grosse SQL Datenbank mit mehreren Tabellen.
Nun möchte ich Änderungen, welche in der Datenbank vorgenommen werden nachvollziehen können.
Dazu habe ich bereits Lösungen im Internet gesucht, aber leider noch nichts Zufriedenstellendes gefunden.

Meine Versuche bis jetzt:

-  Datenbank als AccessDB speichern (Referenz & nach Änderung) und diese vergleichen. Stellte sich als äusserst mühsam heraus durch die sehr grosse Datenmenge (ca. 2GB)

-  SQL Profiler; Hat auch nicht wirklich funktioniert

-  Dann gibt es ja noch das Change Tracking, was aber für jede Tabelle einzeln aktiviert werden muss, und auch einzeln ausgwertet wird.

Ich suche als ein Tool, mit welchem ich die Änderungen in der DB über alle Tabellen darstellen kann und mir direkt angezeigt wird, in welcher Tabelle, welche Zeile hinzugefügt, entfernt oder geändert wurde, bzw. bei einer Änderung, welche Zellen betroffen sind.

Gibt es so etwas bereits? Muss man das selber irgendwie machen, wenn ja, wie geh ich das am Besten an?


Gruss DexXxtrin


----------



## sheel (16. März 2016)

Hi

die Wahl der DB ist also noch offen? Oder muss es Access sein?

Für zB. Mysql, Postgres usw. gibt es die Möglichkeit, Trigger einzubauen
Ein paar Links als Basis zum Weiterinformieren:
http://stackoverflow.com/questions/...to-log-all-table-changes-to-a-secondary-table
http://wiki.postgresql.org/wiki/Audit_trigger


----------



## DexXxtrin (17. März 2016)

Nein die DB steht bereits und läuft auf einem MS SQL Server.
Die DB gehört zu einer Software.
Das Ziel ist es, gewisse Aktionen dieser Software zu automatisieren. Da die Software allerdings keine programmierschnittstelle anbietet und auch keine entsprechnde Addons, muss ich jetzt herausfinden, welche Werte in der DB bei der entsprechenden Aktion geändert, hinzugefügt bzw. gelöscht werden, um diese dann Automatisiert nachzubilden. Dazu muss ich ja den Stand der DB vor und nach der Aktion vergleichen, oder eben die Änderungen verfolgen.


----------



## Nino14 (18. März 2016)

Hallo,

sprechen wir jetzt von MS SQL oder Access? Ich vermute es geht um MS SQL aber ich möchte nochmal sicher gehen.
Und um welche Version geht es überhaupt?

Der MS SQL Server bietet über den SQL-Profiler die Möglichkeit bestimmte Statements in ein Log-File zu schreiben. Das müsste dir genau die Infos geben, die du brauchst.
Was genau funktionierte denn damit nicht?

VG
Nino


----------



## DexXxtrin (18. März 2016)

Hallo Nino

Es geht um MS SQL 2012.
Naja funktioniert nicht ist wahrscheinlich übertrieben, ich wusste einfach nicht, wie ich den richtig Einstellen muss, damit ich nur die relevanten Befehle vor mir habe.
Aber diese Option könnte wirklich das sein, was ich benötige.

EDIT:
Bzw. ich weiss nicht wie ich den Profiler richtig einstelle, damit ich nur die Befehle von Interesse sehe (update, new, delete)...


----------

