Síntomas
Imagine la siguiente situación:
-
Ejecuta un procedimiento en Microsoft SQL Server 2014 o SQL Server 2012.
-
El procedimiento contiene una consulta con las siguientes condiciones:
-
Combina una tabla que se actualiza muy frecuentemente.
-
Tiene una cláusula WHERE que contiene parámetros.
-
Usa Option (RECOMPILE).
-
-
Este procedimiento se ejecuta en varias conexiones simultáneas que tienen conjuntos diferentes de valores de parámetros.
-
El servidor tiene una carga pesada que hace que cada uno de estos procedimientos lleve más tiempo del habitual.
En este escenario, puede recibir resultados incorrectos del procedimiento que se ejecuta en la conexión si se cumplen las condiciones adicionales siguientes durante el intervalo de tiempo que se produce entre el final de la compilación de la consulta y el inicio de la ejecución de la consulta en la conexión:
-
Condición 1: otra conexión simultánea hace que las actualizaciones de la tabla combinada que sean lo suficientemente grandes para desencadenar otra recompilación de la consulta en la conexión.
-
Condición 2: se ha vuelto a compilar la misma consulta desde otra conexión y, después, se ha almacenado en la memoria caché.
Importante Este problema de temporización es muy raro.
Causa
Este problema se produce porque los valores de los parámetros de la consulta se cambian a valores incorrectos después de ejecutar la consulta en la conexión. Esto se debe a un problema de temporización muy inusual que existe entre compilaciones simultáneas.
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 4 para SQL Server 2014 /en-us/help/2999197
Actualización acumulativa 2 para SQL Server 2012 SP2 /en-us/help/2983175
Actualización acumulativa 11 para SQL Server 2012 SP1 /en-us/help/2975396
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".