Příznaky
Při provádění operací DDL, jako je vytvoření indexu nebo zkrácení tabulky v systému SQL Server 2016, mohou být operace blokovány, pokud je ve stejné databázi jiná transakce DDL.
Řešení
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
Další informace
Když skript DDL vytvoří nebo odstraní tabulku nebo index, musí vložit nebo odstranit ID sady řádků tabulky nebo indexu z sysrowsets, pro kterou musí mít na položce na úrovni řádků zámek. Když to uděláte v transakci, bude zámek X trvat po dobu trvání transakce. Když vyhledá zásobníky záznamů na skladě, je potřeba iterovat přes sysrowsets a zjistit existující tabulky nebo indexy. Chcete-li číst každý řádek z sysrowsets , musí mít zámek na úrovni řádku, který je v současné době čten. Proces zjišťování se zastaví, když pracovní postup Tuple najde první sadu řádků, na které může pracovat. V tomto okamžiku vytvoří pracovní postup Tuple skutečnou práci vyprázdněním vyrovnávací paměti, ale aby se zajistilo, že je stále platná zjištěná sada řádků, bude mít zámek SCH-S na všech sadách řádků, které se vyhodnotí, dokud neukončí svou práci.Sysrowsets je řazený podle ID sady řádků, a proto se může stát, že program záznam o řazené kolekci záznamů zkontroloval více existujících sad řádků, na kterých nemá žádnou akci, ale bude nadále používat zámek SCH-S a připíše se k položce v sysrowsets, pro kterou nemůže získat zámek na úrovni řádku, protože je aktuálně měněna dlouhou transakcí, která má na řádku zámek X. V tomto bodě DDLs se změnou ID sady řádků jsou blokovány zámky SCH-S pro pracovní sadu záznamů.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Informace o terminologii používané společností Microsoft k popisu aktualizací softwaru.