Chyba č: 201049 (Údržba obsahu) VSTS:1972462

Příznaky

Jde o takovouto situaci:

  • Spuštění ALTER INDEX... ONLINE dotazu v Microsoft SQL Server 2012 nebo SQL Server 2014.

  • Tento dotaz je přerušena buď z důvodu zablokování nebo akci vyvolanou uživatelem, jako je například spuštění příkazu dezaktivační nebo zrušení dotazu.

V tomto scénáři všechny operace jazyk DML použít metadata indexu jsou blokovány nebo trvat dlouhou dobu k dokončení.

Dále může vyskytnout následující příznaky:

  • Zvýšenými hodnotami pro PWAIT_MD_RELATION_CACHE nebo MD_LAZYCACHE_RWLOCK počkejte typu při dotazu sys.dm_os_wait_stats a sys.dm_exec_requests zobrazení dynamické správy (DMV)

  • Zvýšenými hodnotami pro SOS_RW počkejte typu při dotazu sys.dm_os_spinlock_stats DMV

Tento problém je obvykle zaznamenán jako convoy zámku, který nastane, když každý nový dotaz DML pomalu vymaže objekty synchronizace. Vzhledem k charakteru čekání objekty synchronizace je obvykle omezená využití procesoru.

Řešení

Informace o kumulativní aktualizaci

Tento problém byl poprvé opraven v následující kumulativní aktualizace serveru 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

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. Rezervovat nejnovější kumulativní aktualizace pro SQL Server:


Informace o opravě hotfix
Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena pouze problému popsanému v tomto článku. Použití této opravy hotfix pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému.

Pokud oprava hotfix je k dispozici ke stažení, je sekce "Oprava Hotfix je k dispozici ke stažení" v horní části tohoto článku znalostní báze Knowledge Base. Pokud tento oddíl není uveden, odešlete požadavek na Microsoft Zákaznický servis a podporu k získání opravy hotfix.

Poznámka: Pokud vyskytnout další problémy nebo řešení potíží je požadováno, bude pravděpodobně nutné vytvořit zvláštní požadavek na službu. Výdaje na technickou podporu použije dalších otázek a problémů, které se netýkají této konkrétní opravy hotfix. Úplný seznam telefonních čísel služeb zákazníkům společnosti Microsoft a podpoře nebo vytvořit zvláštní požadavek na službu navštivte následující web společnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka: "Hotfix stažení k dispozici" formulář zobrazí jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, to je protože oprava hotfix není k dispozici pro daný jazyk.

Důležité Po instalaci této opravy hotfix, ALTER INDEX... ONLINE dotaz můžete přerušena bez snížení výkonu serveru SQL Server.

Jak potíže obejít

Chcete-li tento problém vyřešit, můžete vyprázdnit položka metadat bránit potenciální překompilujte cykly, které snížit výkon dotazování a convoy zámku. Chcete-li to provést, použijte jednu z následujících metod k vyprázdnění metadat položky:

  • Restartujte instanci serveru SQL Server 2012 nebo SQL Server 2014.

  • Problematické databázi umístit do režimu offline a potom jej převést do režimu online znovu.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Informace v zásobníku voláníntdll!ZwSignalAndWaitForSingleObject+0xakernel32!SignalObjectAndWait+0x110
sqldk!SystemThread::SignalAndWait+0x2a
sqldk!SOS_Scheduler::Switch+0xb5
sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
sqldk!SOS_Scheduler::Suspend+0x20
sqldk!EventInternal<SuspendQueueSLock>::Wait+0x2bc
sqldk!SOS_RWLock::GetLongWait+0x10b
sqlmin!SOS_RWLock::GetLock+0x1319e1
sqlmin!AutoRWLock::GetLock+0x1319e1
sqlmin!MDAutoRWLock::AcquireLock+0x129
sqlmin!MDAutoRWLock::GetReadLock+0xe
sqlmin!CMEDIndex::Release+0xc1
sqlmin!CMEDIndexStatsCollection::GetProxyIndexInternal+0x294
sqlmin!CMEDIndexStatsCollection::GetNextIndexWithLock+0x4b9
sqlmin!CMEDProxyRelation::GetNextIndexWithLock+0x1c
sqlmin!CMEDProxyRelation::GetNextIndex+0x71
sqllang!CTableMetadata::GatherIndexes+0x948
sqllang!CTableMetadata::LoadMetadata+0x10a
sqllang!CLogOp_Stats::DeriveGroupProperties+0x4b
sqllang!CLogOp_Get::DeriveGroupProperties+0x1d
Hledání na RWLock, jsme naleznete v následujících tématech:0:308> dt 0x00000070`6bb435b8 SOS_RWLock +0x000 m_lock : RWSLock
+0x008 m_waiters : SEList<SOS_RWLock::RWLockWaiter,0>
+0x018 m_currentReaders : 3
+0x01c m_waitingWriters : 0xe
+0x020 m_mode : 1 ( RWLOCK_READ )
+0x028 m_pExclusiveOwner : (null)

Author:jannaw;
Zapisovatel: v-shysun
Odborný recenzent: Bob Dorr; Boba Warda; Ajayj; Sureshka; ramakoni; jannaw; sqlprev
Redaktor: v-jesits

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou překladu?
Co ovlivnilo váš názor?

Děkujeme za váš názor!

×