11

Bevor ich tiefer in den Abgrund der Microsoft-Dokumentation eintauche, würde ich gerne wissen, ob jemand mit Change Data Capture und Change Tracking Erfahrung hat, ob einer oder beide die traditionellen ...Ändern der Datenerfassung oder Änderungsverfolgung - wie bei der traditionellen Audit Trail-Tabelle?

ersetzen können

„Prüfprotokolltabelle Kopie der‚realen Tabelle‘(alle Felder der Original-Tisch, und Datum/Zeit, die Benutzer-ID und DML Aktionsfeld), die in durch Triggers“

... Setup für eine Datenbanktabelle Audit Trail, wo der Trigger Popula testet die Audit-Trail-Tabelle (was alles manuelle Arbeit ist). Die MSDN-Übersichtsdokumentation erläutert auf hoher Ebene, was Change Data Capture und Change Tracking sind, aber es ist mir nicht klar genug und sagt nicht, dass diese Tools die herkömmliche Prüfung ersetzen können Trail-Tische, die wir so oft gemacht haben.

Kann jemand mit irgendwelcher Erfahrung, die Datenerfassung und Änderungsverfolgung verwenden, mir viel Zeit sparen oder bestätigen, dass ich die Zeit damit verbringe, das richtige Werkzeug zu suchen? Der kritische Teil unseres Audit-Trails besteht darin, alle Änderungen an den Feldern einer Tabelle (bei INSERT, UPDATE, DELETE) zu erfassen, wann dies geschah und wer es getan hat. Diese Änderungen werden üblicherweise einem Endbenutzer chronologisch über einen Audit-Trail-Bericht zur Verfügung gestellt. Was ist eine andere Frage ... Change Data Capture oder Change Tracking ist die Lösung, würde ich annehmen, dass diese Daten wie Daten aus einer normalen Tabelle abgefragt werden können?

EDIT: Ich brauche einen permanenten Audit-Trail, unabhängig von der Zeit. Ich sehe, dass Change Data Capture mit den Transaktionsprotokollen zu tun hat, also klingt das für mich begrenzt.

Antwort

5

Ich denke, Sie brauchen noch Audit-Tabellen in Ihren Umständen. Wenn Sie in BOL nachsehen, wird automatisch ein Bereinigungsjob erstellt, der jeden Tag um 2 Uhr morgens ausgeführt wird. Von BOL:

Der Bereinigungsauftrag läuft täglich um 2 A.M. Es behält Änderungen Tabelle Einträge für 4320 Minuten oder 3 Tage, ein Maximum von 5000 Einträge mit einer einzigen löschen Anweisung entfernt.

Das klingt, als würde es definitiv nicht tun, was Sie wollen. Ich kann nicht denken, dass das tun würde, was jeder, der Tabellen auditiert, möchte. Es scheint auch, dass es schwierig, wenn nicht unmöglich wäre, dem Audit-Protokoll andere Felder als die eigenen fünf Standardfelder hinzuzufügen (ich konnte nicht finden, was sie waren). Es scheint auch, dass die Daten nicht würden sehr nützlich sein, um eine bestimmte fehlerhafte Änderung abzufragen oder zu verwenden. Oder vielleicht verstehe ich den Prozess einfach nicht, weil BOL zu diesem Thema ziemlich schlecht geschrieben ist, er hat sicherlich keine der Bedenken beantwortet, die ich haben würde, mein Auditing durch diesen scheinbar schlecht durchdachten Prozess zu ersetzen.

+0

"... weil BOL ziemlich schlecht zu diesem Thema geschrieben ist, ..." Ich stimme zu 100% zu. Die Dokumentation lässt viel zu wünschen übrig. Klingt nach solider Ratschlag: Ich muss weiterhin einen standardmäßigen manuellen Audit-Trail verwenden. Vielen Dank. – HardCode

+0

Man wird nicht in der Lage sein, den Zeitplan zu ändern/den Job zu stoppen, um zu laufen? –

+1

Die Zeit (standardmäßig 3 Tage) ist konfigurierbar. Ich denke auch, dass ein Job geschrieben werden kann (oder manuell gemacht werden kann), um die Daten in eine eigene Tabelle zusammenzuführen, um sie zu erhalten. –