KB3168793: nevar izveidot vai dzēst tabulu vai indeksu, ja viena DDL transakcija darbojas tajā pašā datu bāzē programmā SQL Server 2016

Simptomi

Veicot DDL darbības, piemēram, izveidot indeksu vai Apcirst tabulu programmā SQL Server 2016, darbības var tikt bloķētas, ja tajā pašā datu bāzē ir viena DDL transakcija.

Risinājums

Šī problēma pirmo reizi tika novērsta ar šādu kumulatīvo SQL Server atjauninājumu:

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ā. Iesakām lejupielādēt un instalēt jaunākos SQL Server kumulatīvos atjauninājumus:

Papildinformācija

Kad DDL izveido vai izdzēš tabulu vai indeksu, tam ir jāievieto vai jādzēš tabulas vai indeksa priekšraksts ID no sysrowsets, un tam ir jāieņem rindas līmeņa X bloķēšana ar ierakstu. Kad tas ir izdarīts darījumā, tiks turēts X atslēga uz transakcijas laiku. Kad korteža iniciators atklāj skalošanas dzēstos buferus, nepieciešams atkārtot pār sysrowsets , lai atklātu esošās tabulas vai indeksus. Lai lasītu katru rindu no sysrowsets , ir nepieciešams aizturēt rindas līmeņa slēdzi pašlaik lasītajā ierakstā. Atklāšanas process apstājas, kad korteža mover atrod pirmo priekšraksts, ar kuru tā var strādāt. Šajā punktā korteža iniciators veiks faktisku dzēšanas bufera darbu, bet, lai pārliecinātos, vai atrastais priekšraksts joprojām ir derīgs, tam būs SCH-S atslēga visās rowsets, ko tas novērtēja atklāšanas procesa laikā, līdz tas beidz darbu.Sysrowsets ir sakārtots pēc priekšraksts ID, tāpēc var gadīties, ka korteža mover skenēja vairākus esošos rowsets, par kuriem nav jāveic nekādas darbības, bet joprojām ir SCH-S bloķēšana, un tas tiek saņemts uz ierakstu Sysrowsets, kuram tā nevar iegūt rindas līmeņa atslēgu, jo tā pašlaik tiek mainīta ar ilgstošu transakciju, kurai ir X bloķēšana rindā. Šajā brīdī DDLs iesaistot priekšraksts ID izmaiņas, tiek bloķētas aiz korteža iniciatora SCH-S locks.

Statusa

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

Atsauces

Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.

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?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×