Problembeschreibung
Angenommen, Sie verwenden ein Sequence-Objekt in Microsoft SQL Server 2012. Wenn Sie den laufenden Status Ihrer Sitzung anzeigen, finden Sie möglicherweise einen unerkannten Deadlock zwischen dem Prüfpunktprozess und der Sitzung, in der die neue Sequenznummer eingefügt wird. In diesem Fall hängt die Sitzung auf unbestimmte Zeit.Hinweis Wenn Sie die blockierte Sitzung beenden, wird der SQL Server-Prozess angehalten.
Ursache
Das Problem tritt auf, weil ein Prüfpunkt-Thread versucht, eine Sequenz zu leeren. Die Zeile kann jedoch nicht in der sysobjvalues -Tabelle gefunden werden. Dies liegt daran, dass ein anderer Thread einen Rollback für eine Transaktion ausführt, die den nächsten Wert der Sequenz aufweist, in diesem Fall wird die Zeile aus der sysobjvalues -Tabelle entfernt.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 2 für SQL Server 2012 SP2 /en-us/help/2983175
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.