KB4013128 — POPRAWKA: Zmniejszona wydajność i długie oczekiwanie na CLR_AUTO_EVENT i CMEMTHREAD, gdy SQLCLR UDT jest używany jako parametr procedury składowanej dla wywołania SQL RPC

Dotyczy
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)

Objawy

Używasz programu Microsoft SQL Server 2012, 2014 lub 2016 i tworzysz typ zdefiniowany przez użytkownika (UDT) przy użyciu integracji środowiska SQL Server Common Language Runtime (SQL CLR).

Jeśli używasz UDT jako parametru procedury składowanej, parametr jest przekazywany do serwera za pośrednictwem mechanizmu zdalnego wywoływania procedur (RPC). Mechanizm ten wewnętrznie próbuje załadować zestaw, który hostuje UDT w pamięci.

W takiej sytuacji może wystąpić zmniejszona wydajność wykonywania procedury składowanej. Dzieje się tak z powodu nieefektywności spowodowanej niepotrzebnym ładowaniem i zwalnianiem zestawu SQLCLR przez RPC.

Ten problem objawia się długim czasem oczekiwania dla typów CLR_AUTO_EVENT i CMEMTHREAD . Jest to szczególnie ważne, jeśli wielu jednoczesnych użytkowników wykonuje tę samą procedurę składowaną.

Rozwiązanie

Informacje o dodatku Service Pack dla programu SQL Server

Ta aktualizacja została poprawiona w następujących dodatkach Service Pack dla programu SQL Server:

Service Pack 2 dla programu SQL Server 2016

Service Pack 3 dla programu SQL Server 2014

Service Pack 4 dla programu SQL Server 2012

Informacje o dodatkach Service Pack dla programu SQL Server:

Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy stosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla danego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed zainstalowaniem najnowszego dodatku Service Pack nie jest konieczne. Więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej znajdziesz w tabeli 1 w następującym artykule.

Jak określić wersję, wersję i poziom aktualizacji programu SQL Server i jego składników

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.