Pärast SQL Server 2014 CU5, SQL Server 2012 SP2 CU4 või SQL Server 2012 SP2 CU3 rakendamist võidakse 2014. aasta SQL Server

Rakenduskoht
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core

Sümptomid

Vaatame järgmist näidet.

  • Kasutate Microsoft SQL Server 2014 või Microsoft SQL Server 2012 hoolduspaketti Service Pack 2 (SP2) serveris, mis majutab jooksva versiooniuuenduse osana kättesaadavusrühma teisest koopiat.

  • Olete SQL Server installile rakendanud ühe järgmistest värskendustest.

    • SQL Server 2014 koondvärskendus 5
    • SQL Server 2012 Service Pack 2 koondvärskendus 4
    • SQL Server 2012 Service Pack 2 koondvärskendus 3

    NB! Selles artiklis mainitud kiirparandus asendab need koondvärskendused. Ärge installige neid värskendusi, kui te pole seda veel teinud. 

  • Koondvärskenduse installimise lõpetamiseks taaskäivitage see teisene koopia.

  • Nurjute saadavusrühma üle, mis viiakse värskendatud teisene koopia üle esmasele rollile.

Selle stsenaariumi puhul võib ilmneda üks või mitu järgmistest sümptomitest serveris, kus töötab SQL Server ja mis majutab nüüd teie kättesaadavusrühma peamist koopiat.

  • Teisesed koopiad kuvatakse kujul "NOT SYNCHRONIZING".

  • Kui esitate päringu sys.dm_exec_requests, märkate, et kasutajate seansid ja seanss, mille käsk on "DB_STARTUP", blokeeritakse aeg-ajalt. Samuti võite märgata, et CHECKPOINTI ja DB_STARTUP käskude vahel on blokeeritud.

  • Tupikud, mis hõlmavad seanssi, mis taastas ühe teie kättesaadavusandmebaasidest, teatatakse SQL Server tõrkelogis. Need logid sarnanevad järgmisega:

    <date/time> spid<xx> – taastamine kirjutab andmebaasis <dbname/dbid> kontrollpunkti. See on
    ainult informaalne sõnum. Kasutajatoiminguid pole vaja teha.
    <date/time> spid<xx> – andmebaasi <dbname/dbid> taastamine lõpule viidud x> sekundiga <(analüüs)
    <x> ms, tee <uuesti x> ms, võta <tagasi x> ms.) See on ainult teavitav sõnum. Kasutajatoiminguid pole vaja teha.
    …
    <date/time> spid<xx> Tõrge: 1205, raskusaste: 13, olek: 28.
    <date/time> spid<xx> Transaction (Process ID <xx>) was tupikus lukustatud ressursid teise
    ja on valitud tupikohvriks. Käivitage kanne uuesti.

  • Kui saadavaloleku andmebaas on Microsoft SQL Server Service Broker jaoks lubatud, ei pruugita teie kättesaadavusandmebaasi sõnumeid töödelda. Kui käivitate profiili jälgimise tööriista ja seejärel jäädvustate sündmuse "Broker:Message Classify", jäädvustate järgmise sündmuse:

    9791, Maakler on saatja andmebaasis keelatud

Märkus. See ei ole süstemaatiline probleem. Võimalik, et saate neid koondvärskendusi rakendada AlwaysOn-i konfiguratsioonis ilma seda probleemi kogemata. Kui olete need koondvärskendused juba rakendanud ja te ei märganud seda probleemi, siis teie süsteemi see ei mõjuta ja see teave ei kehti teie kohta.

Põhjus

See probleem ilmneb, kuna võidujooks esineb vahel süsteemilõimede ja kasutajaühenduste vahel. See takistab koondvärskenduse paikamisloogika hankimist lukud, mis on vajalikud värskendusprotsessi lõpuleviimiseks.

Lahendus

Selle probleemi lahendamiseks rakendage järgmine kriitiline nõudmisel (COD) kiirparandus:

3034679 PARANDUS: AlwaysOn-i kättesaadavusrühmadest võidakse teatada, et need pole SÜNKROONITUD
NB! Peate rakendama selle COD kiirparanduse asemel järgmised koondvärskendused:

  • SQL Server 2014 koondvärskendus 5
  • SQL Server 2012 Service Pack 2 koondvärskendus 4
  • SQL Server 2012 Service Pack 2 koondvärskendus 3

        
Märkus. Kui olete need koondvärskendused juba rakendanud, peate probleemi lahendamiseks kasutama järgmist lahendust.

Ajutine lahendus

Kuna selle probleemi põhjuseks on kasutajate seansi ja versioonitäiendusseansi vaheline vastuolu kättesaadavusandmebaaside vahel, kuigi andmebaasid siirevad esmasele rollile, peate selle väite kõrvaldama, et lubada andmebaasidel sellest olekust taastada.

Selle probleemi lahendamiseks tehke järgmist.

  1. Proovige järgmisi meetodeid esitatud järjekorras.

    1. meetod: andmebaasipääsu kõrvaldamineKui andmebaasidel esineb jaotises "Sümptomid" mainitud sümptomeid, kasutage lukustusblokeerimise tingimuse kõrvaldamiseks ühte või mõlemat järgmistest toimingutest.

    • Päringu sys.dm_exec_requests saadavuse andmebaasides nende seansside leidmiseks, kus lukustus blokeeritakse. Kasutage nende seansside lõpetamiseks KILL-lauset.
    • Keelake või peatage kättesaadavusandmebaasidele juurdepääsev rakendus.

    Kui 1. meetod probleemi ei lahenda, minge jaotisse Meetod 2.

    2. meetod: taaskäivitage SQL Server hostiserver Kui rakenduse juurdepääs ja kasutaja juurdepääs on endiselt keelatud, taaskäivitage SQL Server eksemplar, mis majutab mõjutatud kättesaadavuse andmebaase. Selleks tehke järgmist.

    1. Keelake kättesaadavusrühma automaatne tõrkesiire.
    2. Taaskäivitage esmase koopia majutava SQL Server mõjutatud eksemplar.
    3. Lubage kättesaadavusrühma automaatne tõrkesiire.
  2. Pärast mõjutatud andmebaaside täielikku taastamist taastage rakenduse ja kasutaja ühenduvus.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Viited

Lisateavet selle probleemiga seotud koondvärskenduste kohta leiate järgmistest Microsofti teabebaasi artiklitest.