Příznaky
Vezměte v úvahu následující scénář:
- Spustíte ALTER INDEX ... ONLINE dotaz v Microsoft SQL Server 2012 nebo SQL Server 2014.
- Tento dotaz se nepřerušil z důvodu zablokování nebo akce iniciované uživatelem, například spuštěním příkazu k ukončení nebo zrušením dotazu.
V tomto scénáři jsou všechny operace DML, které musí používat metadata indexu, buď blokovány, nebo jejich dokončení trvá dlouhou dobu.
Dále se mohou vyskytnout následující příznaky:
- Zvýšené hodnoty pro typ čekání na PWAIT_MD_RELATION_CACHE nebo MD_LAZYCACHE_RWLOCK při dotazování na zobrazení dynamické správy sys.dm_os_wait_stats a sys.dm_exec_requests
- Zvýšené hodnoty pro typ čekání SOS_RW při dotazování sys.dm_os_spinlock_stats DMV
Tento problém je obvykle pozorován jako konvoj uzamčení, ke kterému dochází, když každý nový dotaz DML pomalu vymaže synchronizační objekty. Vzhledem k čekací povaze synchronizačních objektů je využití procesoru obvykle omezené.
Řešení
Informace o kumulativní aktualizaci
Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.
Kumulativní aktualizace 1 pro SQL Server 2014 /en-us/help/2931693
Kumulativní aktualizace 9 pro SQL Server 2012 SP1 /en-us/help/2931078
Informace o kumulativních aktualizacích pro SQL Server
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. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2014
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP1
Informace o opravě hotfix
Podporovanou opravu hotfix poskytuje Microsoft. Tato oprava hotfix je však určena pouze k opravě problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému.
Pokud je oprava hotfix dostupná ke stažení, je k dispozici část "Hotfix Download Available" (K dispozici je položka ke stažení opravy hotfix) v horní části tohoto článku znalostní báze Knowledge Base. Pokud se tato část nezobrazí, odešlete žádost službám zákazníkům a podpoře společnosti Microsoft o získání opravy hotfix.
Poznámka: Pokud dojde k dalším problémům nebo pokud je vyžadováno jakékoli řešení potíží, budete pravděpodobně muset vytvořit samostatnou žádost o služby. Další dotazy a problémy, které se netýkají této konkrétní opravy hotfix, podléhají běžným sazbám za podporu. Úplný seznam telefonních čísel zákaznických služeb a podpory společnosti Microsoft nebo vytvoření samostatné žádosti o služby naleznete na následujícím webu společnosti Microsoft:
/contactus/?ws=support Poznámka: Formulář "Hotfix Download Available" (K dispozici je ke stažení opravy hotfix) zobrazuje jazyky, pro které je oprava hotfix k dispozici. Pokud svůj jazyk nevidíte, je to proto, že pro tento jazyk není k dispozici oprava hotfix.
Důležité: Po instalaci této opravy hotfix se příkaz ALTER INDEX ... ONLINE dotaz lze přerušit bez snížení výkonu SQL Serveru.
Alternativní řešení
Tento problém můžete vyřešit vyprázdněním položky metadat, abyste zabránili konvoji uzamčení a potenciálním cyklům opětovné kompilace, které snižují výkon dotazů. K vyprázdnění položky metadat použijte jednu z následujících metod:
- Restartujte instanci systému SQL Server 2012 nebo SQL Server 2014.
- Převeďte problematickou databázi do offline stavu a pak ji znovu přepněte do online režimu.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.