Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Otat Microsoft SQL Server Service Broker:n (SSB) käyttöön SQL Server AlwaysOn -ryhmätietokannassa.
- Suljet tietokannan ja käynnistät sen uudelleen.
- Varmista, että Kuittaus (ACK) vastaanotetaan onnistuneesti.
Tässä skenaariossa viestiä ei poisteta lähetysjonosta, vaikka ACK vastaanotetaan onnistuneesti.
Syy
Tämä ongelma ilmenee, koska kun tietokanta käynnistetään puhtaan sammutuksen jälkeen, SQL Server ei tarkista, onko siirtojonon lykätty poisto -tehtävä uudelleenkäytettävä. Siinä oletetaan, että siirtojonon lykätty poisto on kunnossa.
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 1 /en-us/help/2931693
Kumulatiivinen päivitys 9 SQL Server 2012 SP1:lle /en-us/help/2931078
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
Vaihtoehtoinen menetelmä
Voit kiertää ongelman siirtämällä SQL Server Availability Groupin vikasietoisuuteen toissijaiseen replikaan (ja tarvittaessa palautukseen).
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.