--- title: "SP:Recompile Event Class | Microsoft Docs" ms.custom: "" ms.date: "06/13/2017" ms.prod: "sql-server-2014" ms.reviewer: "" ms.technology: supportability ms.topic: conceptual topic_type: - "apiref" helpviewer_keywords: - "SP:Recompile event class" ms.assetid: 526c8eae-a07b-4d0e-b91e-8e537835d77d author: stevestein ms.author: sstein manager: craigg --- # SP:Recompile Event Class The SP:Recompile event class indicates that a stored procedure, trigger, or user-defined function has been recompiled. Recompilations reported by this event class occur at the statement level. The preferred way to trace statement-level recompilations is to use the SQL:StmtRecompile event class. The SP:Recompile event class is deprecated. For more information, see [SQL:StmtRecompile Event Class](sql-stmtrecompile-event-class.md). ## SP:Recompile Event Class Data Columns |Data column name|`Data type`|Description|Column ID|Filterable| |----------------------|-------------------|-----------------|---------------|----------------| |ApplicationName|`nvarchar`|Name of the client application that created the connection to an instance of [!INCLUDE[msCoName](../../includes/msconame-md.md)] [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This column is populated with the values passed by the application rather than the displayed name of the program.|10|Yes| |ClientProcessID|`int`|ID assigned by the host computer to the process where the client application is running. This data column is populated if the client provides the process ID.|9|Yes| |DatabaseID|`int`|ID of the database in which the stored procedure is running. Determine the value for a database by using the DB_ID function.|3|Yes| |DatabaseName|`nvarchar`|Name of the database in which the stored procedure is running.|35|Yes| |EventClass|`int`|Type of event = 37.|27|No| |EventSequence|`int`|The sequence of a given event within the request.|51|No| |EventSubClass|`int`|Type of event subclass. Indicates the reason for recompilation.

1 = Schema Changed

2 = Statistics Changed

3 = Recompile DNR

4 = Set Option Changed

5 = Temp Table Changed

6 = Remote Rowset Changed

7 = For Browse Perms Changed

8 = Query Notification Environment Changed

9 = MPI View Changed

10 = Cursor Options Changed

11 = With Recompile Option|21|Yes| |GroupID|`int`|ID of the workload group where the SQL Trace event fires.|66|Yes| |HostName|`nvarchar`|Name of the computer on which the client is running. This data column is populated if the client provides the host name. To determine the host name, use the HOST_NAME function.|8|Yes| |IntegerData2|`int`|Ending offset of the statement within the stored procedure or batch that caused recompilation. Ending offset is -1 if the statement is the last statement in its batch.|55|Yes| |IsSystem|`int`|Indicates whether the event occurred on a system process or a user process. 1 = system, 0 = user.|60|Yes| |LoginName|`nvarchar`|Name of the login of the user (either [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] security login or the [!INCLUDE[msCoName](../../includes/msconame-md.md)] Windows login credentials in the form of DOMAIN\username).|11|Yes| |LoginSid|`image`|Security identification number (SID) of the logged-in user. You can find this information in the sys.server_principals catalog view. Each SID is unique for each login in the server.|41|Yes| |NestLevel|`int`|The nesting level of the stored procedure.|29|Yes| |NTDomainName|`nvarchar`|Windows domain to which the user belongs.|7|Yes| |NTUserName|`nvarchar`|Windows user name.|6|Yes| |ObjectID|`int`|System-assigned ID of the stored procedure.|22|Yes| |ObjectName|`nvarchar`|Name of the object that triggered the recompile.|34|Yes| |ObjectType|`int`|Value that represents the type of object involved in the event. For more information, see [ObjectType Trace Event Column](objecttype-trace-event-column.md).|28|Yes| |Offset|`int`|Starting offset of the statement within the stored procedure or batch that caused recompilation.|61|Yes| |RequestID|`int`|ID of the request containing the statement.|49|Yes| |ServerName|`nvarchar`|Name of the instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] being traced.|26|No| |SessionLoginName|`nvarchar`|Login name of the user who originated the session. For example, if you connect to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] using Login1 and execute a statement as Login2, SessionLoginName shows Login1 and LoginName shows Login2. This column displays both [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] and Windows logins.|64|Yes| |SPID|`int`|ID of the session on which the event occurred.|12|Yes| |SqlHandle|`varbinary`|64-bit hash based on the text of an ad hoc query or the database and object ID of an SQL object. This value can be passed to sys.dm_exec_sql_text to retrieve the associated SQL text.|63|Yes| |StartTime|`datetime`|Time at which the event started, if available.|14|Yes| |TextData|`ntext`|Text of the Transact-SQL statement that caused a statement-level recompilation.|1|Yes| |TransactionID|`bigint`|System-assigned ID of the transaction.|4|Yes| |XactSequence|`bigint`|Token used to describe the current transaction.|50|Yes| ## See Also [sp_trace_setevent (Transact-SQL)](/sql/relational-databases/system-stored-procedures/sp-trace-setevent-transact-sql) [SQL:StmtRecompile Event Class](sql-stmtrecompile-event-class.md)