Problembeschreibung
Es wird davon ausgegangen, dass Sie die Transaktionsreplikation in Microsoft SQL Server 2008 verwenden und in der Publikation eine Aktualisierungsabfrage ausgeführt wird. Wenn Sie SQL Server auf SQL Server 2012 oder SQL Server 2014 aktualisieren und die Aktualisierungsabfrage nicht vor dem Upgrade verteilt wird, schlägt der Protokolllese-Agent möglicherweise mit dem folgenden Fehler fehl:
<Date> <Time> Publisher: {Call sp_replcmds (500, 0, 0, 0, 500000)}<Datum> <Uhrzeit> Status: 0, Code: 20011, Text: "der Prozess konnte nicht ausgeführt werden" sp_replcmds "auf"< Herausgeber Name>"."<Date> <Time> Der Prozess konnte "sp_replcmds" auf "<Herausgebernamen>" nicht ausführen.<Date> <Time> Status des repl-Agents: 6<Datum> <Uhrzeit> Status: 0, Code: 542, Text: "ein ungültiger DateTime-Wert wurde gefunden. Der Wert überschreitet das Jahr 9999. "<Date> <Time> Status: 0, Code: 3621, Text: "die Anweisung wurde beendet."<Date> <Time> Status: 0, Code: 22037, Text: "der Prozess konnte ' sp_replcmds ' auf '<Herausgeber Name>'." nicht ausführen.
Auch wenn dieses Problem nicht aufgetreten ist, können aktualisierte Protokolleinträge für Update-Anweisungen vom Protokolllese-Agent weiterhin falsch interpretiert werden, und der folgende Fehler kann beim Verteilungs-Agent auftreten:
515 kann den Wert NULL nicht in die Spalte "<Spaltenname>" einfügen, Tabelle "<Tabellenname>"; Spalte lässt keine Nullwerte zu. Update schlägt fehl.
Hinweis
-
Unterschiedliche Datentypen und Einschränkungen können dazu führen, dass ein anderer Fehler gemeldet wird, und dieses Problem kann sogar zu einer Nichtkonvergenz führen.
-
Das Problem tritt auf, wenn Sie ein Upgrade von SQL Server 2008 oder SQL Server 2008 R2 auf SQL Server 2012 oder SQL Server 2014 durchführen.
Fehlerbehebung
Wenn der Fehler "515 den Wert NULL nicht in die Spalte '<Spaltenname>' einfügen kann, Tabelle '<Tabellen Name>'; Spalte lässt keine Nullwerte zu. Update schlägt fehl "Wenn der Verteilungs-Agent aufgetreten ist, sollten Sie die Replikation erneut initialisieren. Dieser Hotfix behebt diesen Fehler nicht. Um diesen Fehler zu vermeiden, sollten Sie den Protokolllese-Agent vor dem Upgrade deaktivieren, dann bis zu diesem Fix aktualisieren und dann den Protokolllese-Agent erneut aktivieren. das Problem wurde zunächst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 2 für SQL Server 2012 SP2 /en-us/help/2983175
Kumulatives Update 3 für SQL Server 2014 /en-us/help/2984923
Kumulatives Update 11 für SQL Server 2012 SP1 /en-us/help/2975396
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.