KB4013128 – RETTELSE: Reduceret ydeevne og lange ventetider på CLR_AUTO_EVENT og CMEMTHREAD, når SQLCLR UDT bruges som en gemt procedureparameter for et SQL RPC-kald

Gælder 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 kan bruge Microsoft SQL Server 2012, 2014 eller 2016, og du opretter en brugerdefineret type (UDT) ved hjælp af SQL Server SQL CLR-integration (Common Language Runtime).

Hvis du bruger UDT som en gemt procedureparameter, sendes parameteren til serveren via RPC-mekanismen (Remote Procedure Call). Denne mekanisme forsøger internt at indlæse en samling, der hoster UDT'en i hukommelsen.

I denne situation kan du opleve nedsat ydeevne for udførelsen af den lagrede procedure. Dette sker på grund af en ineffektivitet, der opstår, når RPC indlæser og aflæser SQLCLR-samlingen unødvendigt.

Dette problem viser sig som lange ventetider for CLR_AUTO_EVENT - og CMEMTHREAD-typer . Dette er især tilfældet, hvis flere samtidige brugere kører den samme lagrede procedure.

Løsning

Servicepakkeoplysninger for SQL Server

Denne opdatering er rettet i følgende servicepakker til SQL Server:

Service Pack 2 til SQL Server 2016

Service Pack 3 til SQL Server 2014

Service Pack 4 til SQL Server 2012

Om servicepakker til SQL Server:

Servicepakker er akkumulerede. Hver ny service pack indeholder alle de rettelser, der var inkluderet i tidligere service packs, samt eventuelle nye rettelser. Vores anbefaling er at anvende den seneste servicepakke og den seneste kumulative opdatering for den pågældende servicepakke. Det er ikke nødvendigt at installere en tidligere servicepakke, før du installerer den seneste udgave. Brug tabel 1 i følgende artikel for at finde flere oplysninger om den seneste servicepakke og seneste samlede opdatering.

Sådan bestemmer du versionen, udgaven og opdateringsniveauet for SQL Server og dens komponenter

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Referencer

Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.