SQL:StmtRecompile 이벤트 클래스SQL:StmtRecompile Event Class

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse SQL:StmtRecompile 이벤트 클래스는 모든 유형의 일괄 처리로 인해 발생한 문 수준의 다시 컴파일을 나타냅니다. 여기에는 저장 프로시저, 트리거, 임시 일괄 처리 및 쿼리가 있습니다. The SQL:StmtRecompile event class indicates statement-level recompilations caused by all types of batches: stored procedures, triggers, ad hoc batches, and queries. sp_executesql, 동적 SQL, Prepare 메서드, Execute 메서드 또는 비슷한 인터페이스를 사용하여 쿼리를 제출할 수 있습니다.Queries can be submitted by using sp_executesql, dynamic SQL, Prepare methods, Execute methods, or similar interfaces. SP:Recompile 이벤트 클래스 대신 SQL:StmtRecompile 이벤트 클래스를 사용해야 합니다.The SQL:StmtRecompile event class should be used instead of the SP:Recompile event class.

SQL:StmtRecompile 이벤트 클래스 데이터 열SQL:StmtRecompile Event Class Data Columns

데이터 열 이름Data column name 데이터 형식Data type 설명Description 열 IDColumn ID 필터 가능Filterable
ApplicationNameApplicationName nvarcharnvarchar MicrosoftMicrosoft SQL ServerSQL Server인스턴스에 연결한 클라이언트 응용 프로그램의 이름입니다.Name of the client application that created the connection to an instance of MicrosoftMicrosoft SQL ServerSQL Server. 이 열은 프로그램의 표시 이름이 아니라 응용 프로그램에서 전달한 값으로 채워집니다.This column is populated with the values passed by the application rather than the displayed name of the program 1010 Yes
ClientProcessIDClientProcessID intint 클라이언트 응용 프로그램이 실행 중인 프로세스에 대해 호스트 컴퓨터가 할당한 ID입니다.ID assigned by the host computer to the process where the client application is running. 클라이언트가 프로세스 ID를 제공하면 이 데이터 열이 채워집니다.This data column is populated if the client provides the process ID. 99 Yes
DatabaseIDDatabaseID intint 저장 프로시저가 실행되는 데이터베이스의 ID입니다.ID of the database in which the stored procedure is running. DB_ID 함수를 사용하여 데이터베이스의 값을 확인할 수 있습니다.Determine the value for a database by using the DB_ID function. 33 Yes
DatabaseNameDatabaseName nvarcharnvarchar 저장 프로시저가 실행되는 데이터베이스의 이름입니다.Name of the database in which the stored procedure is running. 3535 Yes
EventSequenceEventSequence intint 요청 내의 이벤트 시퀀스입니다.The sequence of an event within the request. 5151 아니요No
EventSubClassEventSubClass intint 다시 컴파일하는 원인을 설명합니다.Describes the cause of the recompilation:

1 = 스키마 변경1 = Schema changed

2 = 통계 변경2 = Statistics changed

3 = 지연된 컴파일3 = Deferred compile

4 = SET 옵션 변경4 = Set option changed

5 = 임시 테이블 변경5 = Temp table changed

6 = 원격 행 집합 변경6 = Remote rowset changed

7 = 찾아보기 권한 변경7 = For Browse permissions changed

8 = 쿼리 알림 환경 변경8 = Query notification environment changed

9 = 분할 뷰 변경9 = Partition view changed

10 = 커서 옵션 변경10 = Cursor options changed

11 = 옵션(recompile) 요청11 = Option (recompile) requested
2121 Yes
GroupIDGroupID intint SQL 추적 이벤트가 발생한 작업 그룹의 ID입니다.ID of the workload group where the SQL Trace event fires. 6666 Yes
HostNameHostName nvarcharnvarchar 클라이언트에서 실행 중이며 해당 문을 제출한 컴퓨터의 이름입니다.Name of the computer on which the client is running which submitted this statement. 클라이언트가 호스트 이름을 제공할 경우 이 데이터 열이 채워집니다.This data column is populated if the client provides the host name. 호스트 이름을 확인하려면 HOST_NAME 함수를 사용합니다.To determine the host name, use the HOST_NAME function. 88 Yes
IntegerData2IntegerData2 intint 다시 컴파일이 발생한 저장 프로시저 또는 일괄 처리 내에 있는 문의 끝 오프셋입니다.Ending offset of the statement within the stored procedure or batch that caused recompilation. 문이 일괄 처리의 마지막 문인 경우 끝 오프셋은 -1입니다.Ending offset is -1 if the statement is the last statement in its batch. 5555 Yes
IsSystemIsSystem intint 이벤트가 시스템 프로세스에서 발생했는지 아니면 사용자 프로세스에서 발생했는지를 나타냅니다.Indicates whether the event occurred on a system process or a user process.

1 = 시스템1 = system

0 = 사용자0 = user
6060 Yes
LineNumberLineNumber intint 일괄 처리에서 해당 문의 시퀀스 번호입니다(해당될 경우).Sequence number of this statement within the batch, if applicable. 55 Yes
LoginNameLoginName nvarcharnvarchar 이 일괄 처리를 제출한 로그인 이름입니다.Name of the login that submitted this batch. 1111 Yes
LoginSidLoginSid imageimage 현재 로그인한 사용자의 SID(보안 ID)입니다.Security identifier (SID) of the currently logged in user. 이 정보는 sys.server_principals 카탈로그 뷰에 있습니다.You can find this information in the sys.server_principals catalog view. 각 SID는 서버의 각 로그인마다 고유합니다.Each SID is unique for each login in the server. 4141 Yes
NestLevelNestLevel intint 저장 프로시저 호출의 중첩 수준입니다.The nesting level of the stored procedure call. 예를 들어 my_proc_a 저장 프로시저가 my_proc_b를 호출합니다.For example, my_proc_a stored procedure calls my_proc_b. 이 경우 my_proc_a의 NestLevel은 1이고 my_proc_b의 NestLevel은 2입니다.In this case, my_proc_a has a NestLevel of 1, my_proc_b has a NestLevel of 2. 2929 Yes
NTDomainNameNTDomainName nvarcharnvarchar 사용자가 속한 Windows 도메인입니다.Windows domain to which the user belongs. 77 Yes
NTUserNameNTUserName nvarcharnvarchar 연결된 사용자의 Windows 사용자 이름입니다.Windows user name of connected user. 66 Yes
ObjectIDObjectID intint 다시 컴파일하도록 만든 문이 포함된 개체에 대해 시스템이 할당한 개체 ID입니다.System-assigned identifier of the object that contains the statement that caused the recompilation. 이 개체는 저장 프로시저, 트리거 또는 사용자 정의 함수일 수 있습니다.This object can be a stored procedure, trigger, or user-defined function. 임시 일괄 처리나 준비된 SQL의 경우 ObjectID 및 ObjectName에서 NULL 값이 반환됩니다.For ad hoc batches or prepared SQL, ObjectID and ObjectName return a NULL value. 2222 Yes
ObjectNameObjectName nvarcharnvarchar ObjectID로 식별된 개체의 이름입니다.Name of the object identified by ObjectID. 3434 Yes
ObjectTypeObjectType intint 이벤트와 관련된 개체 유형을 나타내는 값입니다.Value that represents the type of object involved in the event. 자세한 내용은 ObjectType Trace Event Column을(를) 참조하세요.For more information, see ObjectType Trace Event Column. 2828 Yes
OffsetOffset intint 다시 컴파일이 발생한 저장 프로시저 또는 일괄 처리 내에 있는 문의 시작 오프셋입니다.Starting offset of the statement within the stored procedure or batch that caused recompilation. 6161 Yes
RequestIDRequestID intint 문을 포함하는 요청의 ID입니다.ID of the request containing the statement. 4949 Yes
데이터 열이 추적에서 캡처되고 서버를 사용할 수 있으면ServerName nvarcharnvarchar 추적할 SQL ServerSQL Server 이름입니다.Name of the SQL ServerSQL Server being traced. 2626 아니요No
SessionLoginNameSessionLoginName nvarcharnvarchar 세션을 시작한 사용자의 로그인 이름입니다.Login name of the user who originated the session. 예를 들어 Login1을 사용하여 SQL ServerSQL Server 에 연결하고 Login2로 문을 실행할 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다.For example, if you connect to SQL ServerSQL Server using Login1 and execute a statement as Login2, SessionLoginName shows Login1 and LoginName shows Login2. 이 열은 SQL ServerSQL Server 및 Windows 로그인을 모두 표시합니다.This column displays both SQL ServerSQL Server and Windows logins. 6464 Yes
SPIDSPID intint 연결의 서버 프로세스 ID입니다.Server process ID of the connection. 1212 Yes
SqlHandleSqlHandle varbinaryvarbinary 임시 쿼리 또는 데이터베이스의 텍스트 및 SQL 개체의 개체 ID를 기반으로 하는 64비트 해시입니다.64-bit hash based on the text of an ad hoc query or the database and object ID of an SQL object. 이 값을 sys.dm_exec_sql_text에 전달하여 연결된 SQL 텍스트를 검색할 수 있습니다.This value can be passed to sys.dm_exec_sql_text to retrieve the associated SQL text. 6363 아니요No
StartTimeStartTime datetimedatetime 이벤트가 시작된 시간입니다(사용 가능한 경우).Time at which the event started, if available. 1414 Yes
TextDataTextData ntextntext 다시 컴파일한 Transact-SQL 문의 텍스트입니다.Text of the Transact-SQL statement that recompiled. 11 Yes
TransactionIDTransactionID bigintbigint 시스템이 할당한 트랜잭션의 ID입니다.System-assigned ID of the transaction. 44 Yes
XactSequenceXactSequence bigintbigint 현재 트랜잭션을 설명하는 토큰입니다.Token that describes the current transaction. 5050 Yes

참고 항목See Also

SP:Recompile 이벤트 클래스 SP:Recompile Event Class
sp_trace_setevent(Transact-SQL)sp_trace_setevent (Transact-SQL)