Wir haben auch vor kurzem begonnen, uns mit CDC zu befassen. Ich bin kein Experte auf diesem Gebiet, aber ich glaube, ich habe einige Antworten auf Ihre Fragen.
CDC wird Ihnen größtenteils dabei helfen , Ihr Ziel einer vollständig nachvollziehbaren Geschichte zu erreichen, aber ich denke nicht, dass es Sie den ganzen Weg dorthin bringen wird.
Zuerst:
Wir nehmen häufig Änderungen am Datenbankschema vor ... Gibt es einen Mechanismus zum Aktualisieren der CDC-Tabelle auf das neue Schema?
Und hier wird CDC Ihrer Meinung nach scheitern. Die MSDN-Dokumentation unter dem Abschnitt "Grundlegendes zum Änderungsverfolgungsaufwand" ist ziemlich klar, dass die Schemaänderungen für Sie nicht nachverfolgt werden. Zum Beispiel mit Alter Table Add Column
:
Wenn der Änderungsverfolgungstabelle eine neue Spalte hinzugefügt wird, wird das Hinzufügen der Spalte nicht verfolgt. Es werden nur die Aktualisierungen und Änderungen verfolgt, die an der neuen Spalte vorgenommen wurden.
Drop Column
ist etwas komplexer.
Sie sollten jedoch DB-Skripte verwenden, um Ihr Schema zu ändern, damit Sie sich hier nicht unbedingt auf CDC verlassen müssen. Auf diese Weise können Sie die Konsistenz zwischen Ihren QS- und Produktionsschemata gewährleisten. Die Änderung der Qualitätssicherung sollte per Skript erfolgen, damit genau dieselben Änderungen auf Prod angewendet werden können. Es sollte nicht zu schwierig sein, die Schemaänderungen aus diesen Skripten zu extrahieren. Dies kann bedeuten, dass die "Zeit" -Dimension Ihres Verlaufs von der Version anstelle der tatsächlichen Zeit abhängt, das Endergebnis jedoch dasselbe ist.
Wenn Sie noch keine haben, erstellen Sie eine Tabelle, um die Version Ihres Datenbankschemas zu verfolgen. Platzieren Sie dann diese Versions-Tabelle für das Datenbankschema unter CDC, damit Sie makroskopische Änderungen am Schema an den mikroskopischen Änderungen in einer bestimmten Tabelle ausrichten können.
Nach meinem Verständnis sollten die Daten immer noch zu den neuen Spalten hinzugefügt werden, unabhängig davon, ob CDC die Schemaänderung nicht anzeigt. Die Datenmigration von Tabelle zu Tabelle sollte auch von CDC übernommen werden.
Gibt es Best Practices für den Umgang mit erfassten Daten bei der Migration des Datenbankschemas?
Behandeln Sie es so, als würden Sie ein Audit behandeln. Sie müssen verstehen, was Sie untersuchen, warum Sie es untersuchen und wie lange Sie diese Informationen aufbewahren müssen. Umfang und Aufbewahrung sind die beiden größten Bugaboos, wenn es um eine solche Aufgabe geht.
Die Berichterstellungstools von CDC sind verständlicherweise streng, daher müssen Sie den Kontext der Änderungen kennen. Es ist zu einfach zu sagen "Verfolge alles !" und am Ende nichts, was als Ergebnis verwendbar ist. Ebenso können Sie die Größe Ihrer Datenbank verdoppeln, indem Sie eine Kopie jeder Änderung aufbewahren. Auf einem hohen Abwanderungstisch mit vielen Einfügungen und Löschungen werden Sie astronomisches Wachstum erzielen. Das ist an und für sich nicht schlecht, aber Sie müssen dieses Wachstum budgetieren und über die Mittel verfügen, um alle generierten Daten zu untersuchen.
Auf diese Weise können Sie wieder verstehen, warum Sie dazu gedrängt werden, eine vollständige Rückverfolgbarkeit zu gewährleisten. Es gibt sicherlich triftige Gründe für diese Anforderung. Sie können Ihre effektive Prüfung der Datenbank jedoch erst strukturieren, wenn Sie wissen, warum Sie diese Anforderung erfüllen müssen.