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.