Symptomer
Når du prøver å bygge en indeks (ved å bruke CREATE INDEX eller endre INDEKSEN) på en Avstandstoleranse datatype i en stor tabell, kan Microsoft SQL Server 2012 eller SQL Server-2014 gi dårlig effekt. Du kan finne mange spinlock contentions på SOS_CACHESTORE og SOS_SELIST_SIZED_SLOCK.
Oppløsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 1 for SQLServer-2014/en-us/help/2931693
Samleoppdatering 7 for SQL Server 2012 SP1/en-us/help/2894115
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Informasjon om hurtigreparasjon update pakkeEn støttet hurtigreparasjon er tilgjengelig fra Microsoft. Denne hurtigreparasjonen er imidlertid ment å løse problemet som er beskrevet i denne artikkelen. Bruk denne hurtigreparasjonen bare på systemer som har dette bestemte problemet.
Hvis hurtigreparasjonen er tilgjengelig for nedlasting, finnes delen "Hotfix Download-Available" øverst i denne Knowledge Base-artikkelen. Hvis denne delen ikke vises, kan du sende en forespørsel til Microsofts kundeservice og kundestøtte for å få hurtigreparasjonen. Obs! Hvis det oppstår andre problemer, eller hvis feilsøkingstips, må du kanskje opprette en separat forespørsel om. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av denne oppdateringen. For en fullstendig liste over telefonnumre for Microsofts kundeservice og kundestøtte eller opprette en separat forespørsel om, kan du gå til følgende Microsoft-webområde:http://support.microsoft.com/contactus/?ws=supportObs! "Hotfix Download-Available" skjemaet viser språk hurtigreparasjonen er tilgjengelig. Hvis du ikke ser språket ditt, er det fordi en hurtigreparasjon ikke er tilgjengelig for dette språket.
Hvis du vil ha mer informasjon
Spinlocks beskytter common language runtime (CLR) prosedyre hurtigbufferoppføringene. Spørringsplan for en indeks som er opprettet eller endret involverer vanligvis en operator for Bruk eller en Nestet løkke -operator. Den ytre siden av JOIN -operasjonen returnerer rader fra tabellen Avstandstoleranse og driver Avstandstoleranse funksjonen. Hver gang funksjonen startes, kan en spinlock brukes. Når spørringen kjøres med høy grader av parallellisme, kan spinlocks blir en flaskehals. Diagrammet nedenfor er et eksempel på en Avstandstoleranse plan.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Referanser
Hvis du vil ha mer informasjon om et annet problem med ytelsen når du bygger en indeks på en Avstandstoleranse datatype i en stor tabell i SQL Server 2012, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
Løs 2887888 : treg ytelse i SQL Server når du bygger en indeks på en Avstandstoleranse datatype i en stor tabell i en forekomst av SQL Server 2012