CORRECCIÓN: Contención de bloqueo por bucle SOS_CACHESTORE en la caché de planes ad hoc de SQL Server hace uso intensivo de la CPU en SQL Server 2012 o 2014

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 3026083
Síntomas
Cuando se producen muchas inserciones concurrentes en el mismo cubo hash o su límite de entrada de 160,036 aciertos de la caché de planes ad hoc de SQL Server, se produce conflictos graves en SOS_CACHESTORE spinlock. En esta situación, un uso alto de CPU se produce en Microsoft SQL Server 2012 o 2014 de SQL Server.
Causa
El problema se produce porque, cuando la caché de planes SQL Server llega a su límite, planes de bajo costo debe expulsarse para insertar nuevos planes. Esto conduce a mucha contención de la spinlock SOS_CACHESTORE que proporciona la sincronización para los depósitos de la tabla hash de la caché de planes de SQL Server.
Solución

Información sobre la actualización acumulativa

El problema se solucionó primero en la siguiente actualización acumulativa de SQL Server.

Acerca de las actualizaciones acumulativas de SQL Server

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y todas revisiones de la seguridad que se incluyeron en la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Más información
La caché de planes tiene dos límites, el tamaño total y el número total de todos los planes. Los límites de tamaño y entrada conteo se explican en el documento Plan de funcionamiento interno de la caché. El número máximo de entradas que puede contener una caché de planes es cuatro veces de la cuenta de depósitos. Puede comprobar esta información mediante el uso de las siguientes consultas:
select name, type, buckets_count from sys.dm_os_memory_cache_hash_tableswhere name IN ( 'SQL Plans' , 'Object Plans' , 'Bound Trees' ) select name, type, pages_kb, entries_count from sys.dm_os_memory_cache_counterswhere name IN ( 'SQL Plans' , 'Object Plans' ,  'Bound Trees' )
Por ejemplo, en sistemas de 64 bits, los depósitos de la caché de planes de SQL Server es 40,009. Por lo tanto, el número máximo de entradas que puede caber dentro de la caché de planes de SQL Server es 160,036. Cuando tiene una carga de trabajo que está utilizando diferentes consultas ad hoc, este límite puede convertirse en un cuello de botella. En estos casos, puede utilizar el cambio en este hotfix. Después de instalar esta revisión y permitir el cambio mediante el uso de la traza del inicio de la bandera -T 174, se incrementa el número de depósito para 160,001 en sistemas de 64 bits. Por lo tanto, la caché de planes ahora puede contener un número máximo de planes de 640,004.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 3026083 - Última revisión: 06/24/2015 08:33:00 - Revisión: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3026083 KbMtes
Comentarios