Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie aktivieren Microsoft SQL Server Service Broker (SSB) in der SQL Server AlwaysOn Group-Datenbank.
-
Sie haben die Datenbank beendet und neu gestartet.
-
Stellen Sie sicher, dass die Bestätigung (ACK) erfolgreich empfangen wurde.
In diesem Szenario wird Nachricht nicht aus der Übertragungswarteschlange entfernt, obwohl die Bestätigung erfolgreich empfangen wurde.
Ursache
Das Problem tritt auf, weil SQL Server beim Starten der Datenbank nach dem sauberen Herunterfahren nicht überprüft, ob die verzögerte Löschaufgabe für die Übertragungswarteschlange wieder verwendet werden kann. Es wird davon ausgegangen, dass die Übermittlungswarteschlange verzögerte Delete-Aufgabe OK ist.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2014 /en-us/help/2931693
Kumulatives Update 9 für SQL Server 2012 SP1 /en-us/help/2931078
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:
Problemumgehung
Um das Problem zu umgehen, Failover die SQL Server-verfügbarkeitsgruppe auf das sekundäre Replikat (und ggf. Failback).
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.