Taikoma
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2

Simptomai

Apsvarstykite šį scenarijų:

  • Turite duomenų bazę, kurioje yra parinkčių ALLOW_SNAPSHOT_ISOLATION ir READ_COMMITTED_SNAPSHOT įgalinta "Microsoft SQL Server" 2008 R2.

  • Vykdote sakinį Select , kuriame yra " TABLOCK " ir UPDLOCK užuominų su duomenų bazės lentele.

  • Sakinys Select yra įvyniotas į AIŠKŲ pradžios transo, bet padaryti TRAN nėra įvykdytas.

  • Dar dvi tos pačios užklausos, kurios buvo pradėtos su tais pačiais užklausos patarimais, yra aiškioje transakcijoje.

Pagal šį scenarijų, kai pirmoji užklausa yra įsipareigojusi, viena iš kitų užklausų bus aklavietė.

Priežastis

Ši problema iškyla dėl to, kad SQL serveris netinkamai praneša apie aklavietę viename iš šių scenarijų:

  • Kai " ALLOW_SNAPSHOT_ISOLATION " ir " READ_COMMITTED_SNAPSHOT " yra įgalintos duomenų bazės, kelios užklausos dėl tos pačios operacijos gali būti pranešamos kaip aklavietėje neteisingai, kai vienas iš jų yra užbaigtas.

  • Kai ALLOW_SNAPSHOT_ISOTION įgalintas ir naudojami patarimai, kaip " TABLOCK " ir " UPDLOCK ", antroje ir trečioje dalyje sakinys Select Paimkite IX Locks su ketinimu konvertuoti į X. IX užraktai baigiasi aklavietė, kai bandoma konvertuoti į X.

  • Kai ALLOW_SNAPSHOT_ISOLATION išjungta, antrosios ir trečiosios užklausos gaus šešis užraktus. Esant tokiai situacijai, kai šeši užrakinti konvertuojami į X, tai tik blokavimo scenarijus, o ne aklavietė.

Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:

Statusą

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.