Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verwenden die Replikation in Microsoft SQL Server 2012 oder SQL Server 2014.
-
Sie fügen ein Abonnement im Replikations Abonnement hinzu und löschen es dann.
In diesem Szenario wird möglicherweise der folgende Fehler 515 angezeigt:
Der Wert NULL kann nicht in die Spalte ' article_id ' eingefügt werden, Tabelle ' <DistributionDatabaseName> .dbo.MSrepl_commands '; Spalte lässt keine Nullwerte zu. Einfügen schlägt fehl.
Ursache
Das Problem tritt aufgrund einer Regression von SQL Server 2012 auf. Wenn Sie ein Abonnement hinzufügen und dann löschen, werden die Replikationsmetadaten für das Abonnement sofort gelöscht, da eine Verzögerung vorliegt, bevor die Protokollleser auf den Befehl zum Hinzufügen des Abonnements stößt.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2012 SP2 /en-us/help/2976982
Kumulatives Update 2 für SQL Server 2014 /en-us/help/2967546
Kumulatives Update 10 für SQL Server 2012 SP1 /en-us/help/2954099
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.