Pazīmes
Mēģinot izveidot indeksu (izmantojot CREATE INDEX vai ALTER INDEX) lielas tabulas telpisko datu tipam, Microsoft SQL Server 2012 vai SQL Server 2014 var būt slikta veiktspēja. Jūs varat atrast daudzus spinlock strīdus SOS_CACHESTORE un SOS_SELIST_SIZED_SLOCK.
Risinājums
Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.
1. kumulatīvais atjauninājums sistēmai SQL Server 2014 /en-us/help/2931693
SQL Server 2012 SP1 7. kumulatīvais atjauninājums /en-us/help/2894115
Par SQL Server kumulatīvajiem atjauninājumiem
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:
- Jaunākais kumulatīvais atjauninājums SQL Server 2014
- Jaunākais kumulatīvais atjauninājums SQL Server 2012 SP1
Informācija par labojumfailu atjauninājumu pakotni Atbalstīts labojumfails ir pieejams no Microsoft. Tomēr šis labojumfails ir paredzēts, lai novērstu tikai šajā rakstā aprakstīto problēmu. Lietojiet šo labojumfailu tikai sistēmām, kurās ir saskārusies ar šo konkrēto problēmu.
Ja labojumfails ir pieejams lejupielādei, šī zināšanu bāzes raksta augšdaļā ir sadaļa "Labojumfaila lejupielāde ir pieejama". Ja šī sadaļa netiek parādīta, iesniedziet pieprasījumu Microsoft klientu apkalpošanas un atbalsta dienestam, lai iegūtu labojumfailu.
Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, jums būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar šo konkrēto labojumfailu. Lai skatītu pilnu Microsoft klientu apkalpošanas un atbalsta tālruņa numuru sarakstu vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:
/contactus/?ws=support Piezīme Veidlapā "Pieejama labojumfailu lejupielāde" tiek parādītas valodas, kurām labojumfails ir pieejams. Ja neredzat savu valodu, labojumfails šai valodai nav pieejams.
Papildinformācija
Spinlocks aizsargā Common Language Runtime (CLR) procedūras kešatmiņas ierakstus. Izveidota vai mainīta indeksa vaicājumu plāns parasti ietver operatoru Apply vai Nested Loop operatoru. Operācijas JOIN ārējā puse atgriež rindas no telpiskās tabulas un vada telpisko funkciju. Katru reizi, kad funkcija tiek izsaukta, var tikt izmantots spinlock. Kad vaicājums darbojas ar augstu paralēlisma pakāpi, spinlocks var kļūt par sastrēgumu. Šāda telpiskā plānojuma piemērs ir tālāk redzamā shēma.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".
Atsauces
Lai iegūtu papildinformāciju par citu veiktspējas problēmu, veidojot indeksu, izmantojot lielas tabulas telpisko datu tipu programmā SQL Server 2012, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
2887888 LABOJUMS: lēna SQL Server veiktspēja, kad veidojat indeksu, izmantojot lielas tabulas telpisko datu tipu SQL Server 2012 instancē