Simptomi

Iedomājieties šādu scenāriju:

  • Jums ir datu bāze, kurā ir opcijas ALLOW_SNAPSHOT_ISOLATION un READ_COMMITTED_SNAPSHOT iespējots Microsoft SQL Server 2008 R2.

  • Tiek palaists priekšraksts Select , kurā ir TABLOCK un UPDLOCK ieteikumi datu bāzes tabulai.

  • Priekšraksts Select ir aplauzts tiešajā uzsāktajā Tran, taču veiktā Tran nav izpildīta.

  • Divi citi vaicājumi, kas sākti ar vienu un to pašu vaicājuma padomu, ir tiešā darbībā.

Šajā scenārijā, kad pirmais vaicājums ir izdarīts, viens no pārējiem vaicājumiem būs strupceļā.

Cēlonis

Problēma rodas tāpēc, ka SQL Server nepareizi ziņo par strupceļu kādā no šiem scenārijiem:

  • Ja datu bāzei ir iespējoti ALLOW_SNAPSHOT_ISOLATION un READ_COMMITTED_SNAPSHOT , vairāki vaicājumi attiecībā uz vienu un to pašu transakciju var tikt ziņoti par nepareizi izrakstītiem, kad viens no tiem ir pabeigts.

  • Kad ir iespējots ALLOW_SNAPSHOT_ISOTION un tiek izmantoti ieteikumi TABLOCK un UPDLOCK , otrajā un trešajā priekšrakstā Select izmantojiet IX slēdzenes ar nodomu konvertēt uz X. IX bloķēšana beidzas, kad tiek veikts mēģinājums konvertēt uz X.

  • Kad ALLOW_SNAPSHOT_ISOLATION ir atspējota, otrais un trešais VAICĀJUMS iegūs seši slēdzeni. Šajā situācijā, kad seši bloķēšana tiek konvertēta par X, tas ir tikai bloķēšanas scenārijs, nevis strupceļš.

Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×