Datenänderungen in DB an einem MS SQL 2012 nachverfolgen?
Hallo zusammen,
ich arbeite mich zur Zeit in Dynamics NAV 2013 R2 und der dazugehörenden DB auf einem MS SQL 2012 (Express Edition) ein (Testumgebung), und möchte nun die Daten-Änderungen im Client in der DB nachverfolgen können (z.B. welche Felder in welchen Tabellen werden angefasst wenn ich in den Stammdaten die Postleitzahl ändere .......)
Gibt es eine Möglichkeit das ohne große Verrenkungen hinzubekommen, anhand von LOGs o.ä.? Ich bin jetzt nicht der ausgewiesene SQL-Server-Freak....
Danke euch schon mal
Marcus
ich arbeite mich zur Zeit in Dynamics NAV 2013 R2 und der dazugehörenden DB auf einem MS SQL 2012 (Express Edition) ein (Testumgebung), und möchte nun die Daten-Änderungen im Client in der DB nachverfolgen können (z.B. welche Felder in welchen Tabellen werden angefasst wenn ich in den Stammdaten die Postleitzahl ändere .......)
Gibt es eine Möglichkeit das ohne große Verrenkungen hinzubekommen, anhand von LOGs o.ä.? Ich bin jetzt nicht der ausgewiesene SQL-Server-Freak....
Danke euch schon mal
Marcus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 296664
Url: https://administrator.de/forum/datenaenderungen-in-db-an-einem-ms-sql-2012-nachverfolgen-296664.html
Ausgedruckt am: 27.12.2024 um 09:12 Uhr
6 Kommentare
Neuester Kommentar
Die Information wer was wann ändert wird vom SQL Server zunächst mal nicht gespeichert. Man kann das aber bei Interesse mit loggen, dazu wird in der Regel ein Trigger verwendet, der eine Log Tabelle füllt.
So ein Trigger hat ein paar Besonderheiten, ist aber im wesentlichen Fleisarbeit. Je nachdem ob er bei einer Änderung die ganze Zeile loggt oder nur die Einträge, die sich auch wirklich ändern.
So ein Trigger hat ein paar Besonderheiten, ist aber im wesentlichen Fleisarbeit. Je nachdem ob er bei einer Änderung die ganze Zeile loggt oder nur die Einträge, die sich auch wirklich ändern.
Ja Log Trigger sind viel Arbeit, vor allem wenn man jede Spalte seperat sauber loggen will. Das liegt hauptsächlich daran das man Spaltennamen nicht irgendwie dynamisch in Code packen kann. Ich hatte mir in meinem Fall ein SQL Script zum erzeugen von Triggern gebaut, das selbst ist aber schon viel Aufwand da würde ich erstmal eine schmale Lösung empfehlen.
SQL Profiler ist manchmal nützlich aber sehr unübersichtlich wenn die DB viel macht.
SQL Profiler ist manchmal nützlich aber sehr unübersichtlich wenn die DB viel macht.