MSSQLSERVER_2814

Detalles

Nombre del producto

SQL Server

Versión del producto

10.50

Número de compilación del producto

 

Identificador de evento

2814

Origen del evento

MSSQLSERVER

Componente

SQLEngine

Nombre simbólico

PR_POSSIBLE_INFINITE_RECOMPILE

Texto del mensaje

Se detectó una posible recompilación infinita de SQLHANDLE %hs, PlanHandle %hs, desplazamiento de inicio %d, desplazamiento de fin %d. El motivo de la última recompilación fue % d.

Explicación

Una o más instrucciones hicieron que el lote de consultas se recompilara por lo menos 50 veces. La instrucción especificada se debe corregir para evitar más recompilaciones.

En la siguiente tabla se muestran los motivos de la recompilación.

Código del motivo

Descripción

1

Esquema modificado

2

Estadísticas modificadas

3

Compilación diferida

4

Cambio en opción configurada

5

Cambio en tabla Temp

6

Conjunto de filas remoto modificado

7

Permisos For Browse cambiados

8

Entorno de notificación de consultas modificado

9

Vista de partición cambiada

10

Opciones de cursor modificadas

11

Opción (recompilar) solicitada.

Acción del usuario

  1. Vea la instrucción que produce la recompilación ejecutando la consulta siguiente. Reemplace los marcadores de posición sql_handle, starting_offset, ending_offset y plan_handle por los valores especificados en el mensaje de error. Observe que las columnas database_name y object_name serán NULL para instrucciones Transact-SQL ad hoc y preparadas.

    SELECT DB_NAME(st.dbid) AS database_name

    , OBJECT_NAME(st.objectid) AS object_name

    , st.text

    FROM sys.dm_exec_query_stats AS qs

    CROSS APPLY sys.dm_exec_sql_text (sql_handle) AS st

    WHERE qs.statement_start_offset = starting_offset

    AND qs.statement_end_offset = ending_offset

    AND qs.plan_handle = plan_handle;

  2. Según sea la descripción del código del motivo, modifique la instrucción, lote o procedimiento para evitar las recompilaciones. Por ejemplo, un procedimiento almacenado puede contener una o más instrucciones SET. Estas instrucciones se deben quitar del procedimiento. Para obtener ejemplos adicionales de causas de la recompilación y sus soluciones, vea Problemas de compilación y recompilación de lotes, y de almacenamiento en caché de planes en SQL Server 2005

  3. Si el problema persiste, póngase en contacto con los Servicios de soporte al cliente (CSS) de Microsoft.

Vea también

Referencia