So erhalten Sie den Wert "start_lsn" in Anwendungscode
-
13-12-2019 - |
Frage
Die Datenbank zeigt alle Änderungen über den Mechanismus " Change Data Capture ".Ich muss weitere Informationen zu Benutzern hinzufügen, die diese Änderungen vornehmen. Die folgenden Benutzer sind keine SQL Server-Benutzer.Die Sicherheitsberechtigung erfolgt über einen Außenmechanismus.
Ich möchte einen Helfertisch mit Spalten hinzufügen " start_lsn " und " userid ", um eine Transaktion mit dem autorisierten Benutzer zuzuordnen.
Gibt es eine Möglichkeit, den Wert "
Lösung
Derzeit habe ich folgende Lösung gefunden:
1)
-
Erstellen Sie eine weitere Tabelle (z. B. die "UserActivity" ), die die "ID" und "userid" hat Säulen;
-
Verwenden Sie die Spalte "ID" als Primärschlüssel;
-
Aktivieren Sie die CDC-Option für diese Tabelle.
2)
-
Alle Datenmodifizierungsvorgänge mit einem
Transaktionsbereich ; -
Fügen Sie einen neuen Datensatz in diese Tabelle mit dem aktuellen "userid" während einer bestimmten Transaktion hinzu:
-
beginnen exklusive Transaktion;
-
-
Führen Sie "Datenmanipulation";
-
Geben Sie Informationen zu "userid" in die "useraktivität" ein.
Da die Transaktion exklusiv ist und alle Vorgänge innerhalb eines einzelnen Transaktionsbereichs erfolgen, ist der
danach mit dem Join-Operator Daten von der "UserActivity" -Tabelle mit Datenmanipulationsinformationen zusammenführen.