KB2933780 – KORJAUS: Viestiä ei poisteta lähetysjonosta, vaikka ACK vastaanotetaan onnistuneesti AlwaysOn-käytettävyysryhmässä SQL Server 2012:ssa tai SQL Server 2014:ssä

Käytetään kohteeseen
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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.