KB4013128 - FIX: rendimiento reducido y esperas largas para CLR_AUTO_EVENT y CMEMTHREAD cuando se usa SQLCLR UDT como parámetro de procedimiento almacenado para una llamada RPC de SQL

Se aplica a
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)

Síntomas

Use Microsoft SQL Server 2012, 2014 o 2016 y cree un tipo definido por el usuario (UDT) mediante SQL Server integración con Common Language Runtime (SQL CLR).

Si utiliza el UDT como parámetro de procedimiento almacenado, el parámetro se pasa al servidor a través del mecanismo de llamada a procedimiento remoto (RPC). Este mecanismo intenta internamente cargar un ensamblado que aloja el UDT en la memoria.

En esta situación, es posible que experimente una disminución del rendimiento de la ejecución del procedimiento almacenado. Esto se produce debido a una ineficiencia que se produce cuando el RPC carga y descarga el ensamblado SQLCLR innecesariamente.

Este problema se manifiesta en tiempos de espera prolongados para los tipos de CLR_AUTO_EVENT y CMEMTHREAD . Esto es especialmente cierto si varios usuarios simultáneos ejecutan el mismo procedimiento almacenado.

Resolución

Información del Service Pack para SQL Server

Esta actualización se ha corregido en los siguientes Service Pack para SQL Server:

Service Pack 2 para SQL Server 2016

Service Pack 3 para SQL Server 2014

Service Pack 4 para SQL Server 2012

Acerca de los Service Pack para SQL Server:

Los Service Packs son acumulativos. Cada Service Pack nuevo contiene todas las revisiones que se incluyen en los anteriores, además de otras nuevas. Nuestra recomendación es aplicar el Service Pack más reciente y la actualización acumulativa más reciente para ese Service Pack. No necesita instalar un Service Pack anterior antes de instalar el más reciente. Use la Tabla 1 del artículo siguiente para obtener más información sobre el Service Pack más reciente y la actualización acumulativa más reciente.

Cómo determinar el nivel de versión, edición y actualización de SQL Server y sus componentes

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.