Síntomas
Suponga que consulta una columna de objeto binario grande (BLOB) en Microsoft SQL Server 2008 R2 o en Microsoft SQL Server 2012 en un equipo con varias CPU. La consulta usa la sugerencia NOLOCK . En esta situación, experimenta un uso intensivo de la CPU en el equipo.Nota: Es más probable que este problema se produzca si el equipo tiene instaladas 16 o más CPU.
Causa
Este problema se produce porque un algoritmo de multiplicador de Spinlock no es eficaz.
Resolución
Información sobre la actualización acumulativa
Actualización acumulativa 2 para SQL Server 2012 SP1
La corrección para este problema se publicó por primera vez en la actualización acumulativa 2. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2012 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2790947 Paquete de actualización acumulativa 2 para SQL Server 2012 Service Pack 1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012 SP1. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2772858 Las compilaciones de SQL Server 2012 que se lanzaron después de publicar SQL Server 2012 Service Pack 1
Actualización acumulativa 5 para SQL Server 2012
La corrección para este problema se publicó por primera vez en la actualización acumulativa 5. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2012, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2777772 Paquete de actualización acumulativa 5 para SQL Server 2012Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2692828 Las compilaciones de SQL Server 2012 que se publicaron después de que se publicó SQL Server 2012
Service Pack 2 de SQL Server 2008 R2
La corrección para este problema se publicó por primera vez en la actualización acumulativa 3. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2754552 Paquete de actualización acumulativa 3 para SQL Server 2008 R2 Service Pack 2Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad que se incluían en la versión anterior de corrección de SQL Server 2008 R2 Service Pack 2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2730301 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 Service Pack 2
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Solución alternativa
Para solucionar el problema, use uno de los métodos siguientes:
-
Reducir el tamaño de la columna objeto binario grande.
-
Quite la sugerencia NOLOCK de la consulta.
-
Reduzca el número de CPU que usa SQL Server.