Wir hatten ein Problem mit CDC, bei dem der Erfassungsjob fehlschlug und sich nicht selbst neu startete. Es war in einer DEV-Umgebung, also kein Schaden, aber hat jemand diese Fehler gesehen oder weiß, was genau mit CDC schief gelaufen ist?
SQL 2014 EE 12.0.5540 - 2 Node AG mit SSISDB
In der Prozedur oder Funktion sp_batchinsert_1663605265 wurden zu viele Argumente angegeben. Weitere Informationen finden Sie in der dynamischen Verwaltungsansicht sys.dm_cdc_errors
Der Protokoll-Scan-Prozess konnte keinen replizierten Befehl aus der Protokollsequenznummer (LSN) {00002d0d: 0000f11f: 0002} erstellen. Sichern Sie die Publikationsdatenbank und wenden Sie sich an den Kundendienst. Für mehr Informationen
Der Protokollscanprozess ist bei der Verarbeitung von Protokolldatensätzen fehlgeschlagen. Beziehen Sie sich auf frühere Fehler in der aktuellen Sitzung, um die Ursache zu identifizieren und alle damit verbundenen Probleme zu beheben. Weitere Informationen finden Sie in der dynamischen Verwaltungsansicht sys.dm_cdc_errors
Wir haben versucht, den Erfassungsjob mit sp_cdc_drop_job
abd zu löschen und neu zu erstellen sp_cdc_add_job
. Wir haben auch versucht, ein Failover auf den anderen Knoten sowie einen Neustart des Servers / Dienstes durchzuführen. Nichts schien CDC neu starten zu lassen.
Wir haben CU4 am Freitag durch AG Rolling Patching angewendet, damit wir auf dem neuesten und besten Stand sind. Dieses Problem trat direkt nach dem Patchen und dem Failover auf.
Ergebnis der Protokollabfrage hinzugefügt
quelle
Antworten:
Es sieht so aus, als ob CU2 + SP4 (12.0.5540) die Struktur der zugrunde liegenden _CT-Systemtabellen ändert, die generiert werden. Es fügt die Spalte hinzu
[__$command_id] int null
.Wenn Sie ein Upgrade auf die neue CU durchführen, schlagen die Erfassungsjobs fehl oder gehen mit den folgenden Fehlern zu "Zwischen Wiederholungsversuchen ...":
Das Löschen und Neuerstellen des Erfassungsjobs funktioniert nicht (mit cdc_add_job). Ich musste den CDC-Job des Erfassungsagenten löschen, CDC (sp_cdc_disable_table) in der Tabelle deaktivieren und dann CDC (sp_cdc_enable_table) erneut aktivieren, wodurch der Job erneut hinzugefügt und der Job erfolgreich ausgelöst und mit dem Sammeln begonnen wurde.
Das Problem ist, dass Sie beim Löschen und erneuten Aktivieren von CDC die zuvor vorhandene _CT-Tabelle und alle ihre Daten verlieren.
Die einzigen Informationen, die ich über CU4 gefunden habe, die CDC ändern, sind die folgenden von MS: https://support.microsoft.com/en-us/help/3030352
Es heißt, dass sie das Bestellproblem behoben haben, aber keine strukturellen Änderungen an den CDC-Systemtabellen auflisten.
UPDATE 1 : Ich habe einen kostenpflichtigen Support-Fall mit MS zu diesem Problem eröffnet. Es ist auch ein Verbindungselement dafür geöffnet: https://connect.microsoft.com/SQLServer/Feedback/Details/3130381
UPDATE 2 :
sp_vupgrade_replication
Gemäß MS kann der Capture Agent-Job nach Verwendung des Befehls nach dem Patchen auf CU4 erfolgreich gestartet werden. Es behandelt immer noch nicht die fehlgeschlagenen Jobs, bevor der Befehl ausgeführt wird. Es wird auch nicht darauf eingegangen, dass diese hinzugefügte Spalte nirgendwo dokumentiert wird. Ich warte immer noch darauf, was das endgültige Urteil ist.UPDATE 3 : MS hat offiziell in ihrem Blog gepostet und dies als Problem erkannt: https://blogs.msdn.microsoft.com/sql_server_team/cdc-functionality-may-break-after-upgrade-to-the-latest-cu -für-SQL-Server-2012-2014-und-2016 /
Noch kein Wort darüber, ob der CU4-Patch erneut veröffentlicht wird, damit keine manuellen Eingriffe erforderlich sind, um die CDC-Jobs neu zu starten oder den Spaltenwechsel offiziell zu dokumentieren.
quelle