SP:Recompile (clase de evento)

La clase de evento SP:Recompile indica que un procedimiento almacenado, desencadenador o función definida por el usuario se ha vuelto a compilar. En SQL Server 2005 y versiones posteriores, las recompilaciones notificadas por esta clase de evento se producen en el nivel de instrucción, mientras que las de SQL Server 2000 se producían en el nivel de proceso por lotes.

En SQL Server 2005 y versiones posteriores, la forma preferida de realizar un seguimiento de las recompilaciones de nivel de instrucción consiste en utilizar la clase de eventos SQL:StmtRecompile. A partir de SQL Server 2005, la clase de eventos SP:Recompile queda obsoleta. Para obtener más información, vea SQL:StmtRecompile (clase de evento) y la sección acerca de la recompilación de planes de ejecución en Almacenar en caché y volver a utilizar un plan de ejecución.

Columnas de datos de la clase de evento SP:Recompile

Nombre de columna de datos

Data type

Descripción

Id. de columna

Se puede filtrar

ApplicationName

nvarchar

Nombre de la aplicación cliente que ha creado la conexión con una sesión de Microsoft SQL Server. Esta columna se llena con los valores que pasa la aplicación y en lugar de con el nombre que se muestra del programa.

10

ClientProcessID

int

Identificador que el equipo host asigna al proceso en el que se ejecuta la aplicación cliente. Esta columna de datos se llena si el cliente proporciona el Id. de proceso.

9

DatabaseID

int

Id. de la base de datos en que se ejecuta el procedimiento almacenado. El valor para una base de datos se puede determinar mediante la función DB_ID.

3

DatabaseName

nvarchar

Nombre de la base de datos en la que se ejecuta el procedimiento almacenado.

35

EventClass

int

Tipo de evento = 37.

27

No

EventSequence

int

Secuencia de un evento determinado de la solicitud.

51

No

EventSubClass

int

Tipo de subclase de evento. Indica la razón de la recompilación.

1 = Cambio en el esquema

2 = Cambio en estadísticas

3 = Recompilación DNR

4 = Cambio en opción configurada

5 = Cambio en tabla Temp

6 = Cambio en conjunto de filas remoto

7 = Cambio en permisos For Browse

8 = Cambio en entorno de notificación de consultas

9 = Cambio en vista MPI

10 = Cambio en opciones de cursor

11 = Opción con recompilación

21

GroupID

int

Id. del grupo de cargas de trabajo donde se activa el evento de seguimiento de SQL.

66

HostName

nvarchar

Nombre del equipo en el que se está ejecutando el cliente. Esta columna de datos se llena si el cliente proporciona el nombre del host. Para determinar el nombre de host, utilice la función HOST_NAME.

8

IntegerData2

int

Desplazamiento final de la instrucción en el procedimiento almacenado o proceso por lotes que causó la recompilación. El desplazamiento final es -1 si la instrucción es la última de su lote.

55

IsSystem

int

Indica si el evento se ha producido en un proceso del sistema o de usuario. 1 = sistema, 0 = usuario.

60

LoginName

nvarchar

Nombre del inicio de sesión del usuario (sea el inicio de sesión de seguridad de SQL Server o las credenciales de inicio de sesión de Microsoft Windows en formato de DOMAIN\username).

11

LoginSid

image

SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Puede buscar esta información en la vista de catálogo sys.server_principals. Cada SID es exclusivo para cada inicio de sesión en el servidor.

41

NestLevel

int

Nivel de anidamiento del procedimiento almacenado.

29

NTDomainName

nvarchar

Dominio de Windows al que pertenece el usuario.

7

NTUserName

nvarchar

Nombre de usuario de Windows.

6

ObjectID

int

Identificador asignado por el sistema al procedimiento almacenado.

22

ObjectName

nvarchar

Nombre del objeto que ha desencadenado la recompilación.

34

ObjectType

int

Valor que representa el tipo de objeto implicado en el evento. Para obtener más información, vea Columna de evento de traza ObjectType.

28

Offset

int

Desplazamiento inicial de la instrucción en el procedimiento almacenado o proceso por lotes que causó la recompilación.

61

RequestID

int

Identificador de la solicitud que contiene la instrucción.

49

ServerName

nvarchar

Nombre de la instancia de SQL Server de la que se va a realizar un seguimiento.

26

No

SessionLoginName

nvarchar

Nombre de inicio de sesión del usuario que inició la sesión. Por ejemplo, si se conecta a SQL Server usando inicioDeSesión1 y ejecuta una instrucción como inicioDeSesión2, SessionLoginName muestra inicioDeSesión1 y LoginName muestra inicioDeSesión2. Esta columna muestra tanto el inicio de sesión de SQL Server como el de Windows.

64

SPID

int

Identificador de la sesión en la que se ha producido el evento.

12

SqlHandle

varbinary

Hash de 64 bits basado en el texto de una consulta ad hoc o en el Id. de base de datos y de objeto de un objeto SQL. Este valor puede pasarse a sys.dm_exec_sql_text para recuperar el texto SQL asociado.

63

StartTime

datetime

Hora a la que se inició el evento, si está disponible.

14

TextData

ntext

Texto de la instrucción Transact-SQL que causó la recompilación de nivel de instrucción. Tenga en cuenta que esta columna de datos no se rellenaba en SQL Server 2000, pero sí se rellena en SQL Server 2005 y versiones posteriores.

1

TransactionID

bigint

Id. de la transacción asignado por el sistema.

4

XactSequence

bigint

Token que se utiliza para describir la transacción actual.

50