KB2648158-Fix: Fehlermeldung "der Prozess konnte nicht ausgeführt werden", wenn Sie einen Wert ungleich NULL im MaxCmdsInTran-Parameter des Protokolllese-Agents in SQL Server 2008 R2 oder in SQL Server 2012 festlegen

Gilt für: Microsoft SQL Server 2008 R2 Service Pack 1

Microsoft vertreibt Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) oder Microsoft SQL Server 2012-Fixes in einer herunterladbaren Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die im vorherigen SQL Server 2008 R2 Service Pack 1 (SP1) oder Microsoft SQL Server 2012-Update veröffentlicht wurden.

Problembeschreibung


Stellen Sie sich folgendes Szenario vor:
  • Sie erstellen mindestens zwei Transaktions Replikationspublikationen basierend auf einer Datenbank in Microsoft SQL Server 2008 R2 oder in Microsoft SQL Server 2012.
  • Jede Publikation hat mindestens einen Artikel. Die Artikel überlappen sich nicht, und jeder Artikel gehört nur zu einer Publikation.
  • Sie setzen die @sync_method -Eigenschaft der Publikationen auf Concurrent.
  • Sie haben die @immediate_sync -Eigenschaft der Publikationen auf truefestgelegt.
  • Sie setzen den MaxCmdsInTran -Parameter des Protokolllese-Agents auf einen Wert ungleich 0 (null).
  • Eine der Publikationen erhält viele Einfügevorgänge in einer Transaktion.
  • Nach dem Commit der Transaktion beginnt der Protokolllese-Agent mit der Verarbeitung und Aufspaltung der Transaktion entsprechend dem MaxCmdsInTran -Parameter.
  • Der Snapshot-Agent in einer anderen Publikation beginnt, bevor der Protokolllese-Agent die Aufgabe beendet hat.
In diesem Szenario schlägt der Protokolllese-Agent fehl, und es wird die folgende Fehlermeldung angezeigt:
Der Prozess konnte "sp_MSadd_replcmds" auf "Server\Instanz" nicht ausführen. (Quelle: MSSQLSERVER, Fehlernummer: 1007) Doppelte Schlüssel Zeile kann nicht im Objekt "dbo" eingefügt werden. MSrepl_commands "mit dem eindeutigen Index" ucMSrepl_commands ". (Quelle: MSSQLSERVER, Fehlernummer: 1007)

Fehlerbehebung


Informationen zum kumulativen Update

SQL Server 2012

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 1 für SQL Server 2012 veröffentlicht. Wenn Sie weitere Informationen zu diesem kumulativen Updatepaket erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2679368 Kumulatives Updatepaket 1 für SQL Server 2012
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2012 behoben wurden. Microsoft empfiehlt, die neueste Fix-Version zu verwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2692828 Die SQL Server 2012-Builds, die nach der Veröffentlichung von SQL Server 2012 veröffentlicht wurden
Sie müssen einen SQL Server 2012-Hotfix auf eine Installation von SQL Server 2012 anwenden.

Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1

Die Fehlerbehebung für dieses Problem wurde zuerst in Kumulatives Update 4 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 SP1 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2633146 Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 R2 SP1 enthalten waren. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2567616 Die SQL Server 2008 R2-Builds, die nach der Veröffentlichung von SQL Server 2008 R2 SP1 veröffentlicht wurden

Problemumgehung


Wenden Sie eine der folgenden Methoden an, um dieses Problem zu umgehen:
  • Setzen Sie die @sync_method -Eigenschaft der Publikationen nicht auf "Concurrent", und setzen Sie die @immediate_sync -Eigenschaft der Publikationen auf "true".
  • Setzen Sie den Wert des MaxCmdsInTran -Parameters auf NULL.

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.