Sümptomid
Kui sooritate DDL-i toiminguid (nt Create index või Kärbi tabelit SQL Server 2016), võidakse toimingud blokeerida, kui sama andmebaasiga töötab teine DDL-tehing.
Lahendus
Probleem parandati esmalt järgmise SQL serveri koondvärskenduses:
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Soovitame teil alla laadida ja installida kumulatiivseid värskendusi SQL serveri jaoks:
Lisateave
Kui DDL loob või kustutab tabeli või indeksi, peab see lisama või kustutama tabeli või indeksi Reahulk ID sysrowsets, mille jaoks peab kirjel olema rea taseme X lukk. Kui see on tehtud tehingu sees, toimub X-lukk tehingu kestuse ajaks. Kui kordsele tulijale leitakse tühjendatav Kustuta puhvrid, peab olemasolevate tabelite või indeksite avastamiseks itereerimiseks üle sysrowsets . Kui soovite iga rea sysrowsets lugeda, peab ta praegu kuvataval kirjel hoidma rea taseme lukustamist. Tuvastamise protsess peatub siis, kui kordsel liikudes leiab esimese Reahulk, mille kallal saab tööd teha. Selles punktis teeb ta tegeliku töö, mille käigus tühjendatakse kustutamise puhver, kuid veendumaks, et avastatav Reahulk on endiselt kehtiv, peab see kinnitama kõik Rowsets, mida ta on tuvastanud, kuni ta töö lõpule viib.Sysrowsets on tellinud Reahulk ID, seega võib juhtuda, et kordne koliit skannis mitu olemasolevat Rowsets, millel tal pole mingit toimingut teha, kuid jääb alles SCH-S Lock ja see saabub kirjele Sysrowsets, mille jaoks ta ei saa omandada rea taset S Lock, sest see on praegu muudetud pika jooksva tehinguga, mis hoiab rea X-Lock ' i. Selles punktis on DDLs, mis sisaldab Reahulk ID muutust, blokeeritakse kordselt selle SCH-S lukud.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.
Viited
Siit leiate teavet selle kohta, mida Microsoft kasutab tarkvaravärskenduste kirjeldamiseks.