KB4013128 – LØSNING: Redusert ytelse og lange ventetider for CLR_AUTO_EVENT og CMEMTHREAD når SQLCLR UDT brukes som en lagret prosedyreparameter for et SQL RPC-kall

Gjelder for
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptomer

Du bruker Microsoft SQL Server 2012, 2014 eller 2016, og du oppretter en brukerdefinert type (UDT) ved hjelp av SQL Server SQL CLR-integrasjon (Common Language Runtime).

Hvis du bruker UDT som en lagret prosedyreparameter, sendes parameteren til serveren via RPC-mekanismen (Remote Procedure Call). Denne mekanismen prøver internt å laste inn en samling som er vert for UDT i minnet.

I slike situasjoner kan du oppleve redusert ytelse for kjøringen av den lagrede prosedyren. Dette skjer på grunn av en ineffektivitet som forårsakes når RPC laster inn og losser SQLCLR-samlingen unødvendig.

Dette problemet manifesterer seg som lange ventetider for CLR_AUTO_EVENT - og CMEMTHREAD-typer . Dette gjelder spesielt hvis flere samtidige brukere kjører samme lagrede prosedyre.

Oppløsning

Informasjon om oppdateringspakke for SQL Server

Denne oppdateringen er løst i følgende oppdateringspakker for SQL Server:

Service Pack 2 for SQL Server 2016

Service Pack 3 for SQL Server 2014

Service Pack 4 for SQL Server 2012

Om oppdateringspakker for SQL Server:

Oppdateringspakker er kumulative. Hver nye oppdateringspakke inneholder alle reparasjonene som finnes i tidligere oppdateringspakker, sammen med eventuelle nye reparasjoner. Vi anbefaler at du bruker den nyeste oppdateringspakken og den nyeste kumulative oppdateringen for denne oppdateringspakken. Du trenger ikke å installere en tidligere oppdateringspakke før du installerer den nyeste oppdateringspakken. Bruk tabell 1 i følgende artikkel for å finne mer informasjon om den nyeste oppdateringspakken og den nyeste kumulative oppdateringen.

Slik finner du versjonen, utgaven og oppdateringsnivået til SQL Server og komponentene

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».

Kilder

Finn ut mer om terminologien som Microsoft bruker til å beskrive programvareoppdateringer.