Symptomen
Wanneer u een index te maken probeert (met behulp van CREATE INDEX of ALTER INDEX) op een soort van ruimtelijke gegevens op een grote tabel, kan Microsoft SQL Server 2012 of SQL Server 2014 tegenvallen. Hier vindt u veel spinlock-contentions op SOS_CACHESTORE en SOS_SELIST_SIZED_SLOCK.
Oplossing
Het probleem is in eerste instantie opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve Update 1 voor SQL Server 2014/en-us/help/2931693
Cumulatieve Update 7 voor SQL Server 2012 SP1/en-us/help/2894115
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Informatie over hotfix-pakketEen ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet.
Als er een hotfix beschikbaar is om te downloaden, ziet u een sectie 'Hotfix kan worden gedownload' boven aan dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, dien dan een verzoek in bij Microsoft Customer Service and Support om de hotfix te verkrijgen. Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken, gaat u naar de volgende Microsoft-website:http://support.microsoft.com/contactus/?ws=supportOpmerking Het formulier 'Hotfix kan worden gedownload' geeft de talen weer waarin de hotfix beschikbaar is. Als uw taal niet wordt weergegeven, is dit omdat een hotfix niet voor die taal beschikbaar is.
Meer informatie
Spinlocks beschermen de common language runtime (CLR) procedure vermeldingen in de cache. Het queryplan voor een index gemaakt of gewijzigd betreft gewoonlijk een operator Apply of de exploitant van een Geneste lus . De buitenzijde van de JOIN -bewerking is rijen uit de tabel ruimtelijke retourneren en de ruimtelijke functie te rijden. Elke keer dat de functie wordt aangeroepen, kan een spinlock worden gebruikt. Wanneer de query wordt uitgevoerd met een hoge mate van parallellisme, komen de spinlocks een knelpunt. In het volgende diagram is een voorbeeld van een ruimtelijk plan.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Referenties
Voor meer informatie over een ander probleem met de prestaties wanneer u een index op een soort van ruimtelijke gegevens op een grote tabel in SQL Server 2012 maken, klikt u op het volgende artikel in de Microsoft Knowledge Base:
2887888 oplossen: trage prestaties in SQL Server wanneer u een index op een soort van ruimtelijke gegevens op een grote tabel in een exemplaar van SQL Server 2012 maken