SP:CacheMiss Event Class

The SP:CacheMiss event class indicates that the procedure is not found in the cache. If the SP:CacheMiss event class occurs frequently, it can indicate that more memory should be made available to Microsoft SQL Server, thereby increasing the size of the procedure cache.

Note

In SQL Server 2000, the majority of cases that produced an SP:CacheMiss event in the trace were followed by an SP:CacheInsert event, which contained similar or duplicate trace information. In later versions SQL Server, when there is no cache insert after a cache miss, only an SP:CacheMiss event is written to the trace. SP:CacheInsert is written to the trace as before when a cache entry is inserted. This change significantly reduces the number of events that will be generated. Consequently, users can expect to see a reduced number of events reported for multiple cache miss events that occur for a single stored procedure or function.

SP:CacheMiss 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 SQL Server. 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 client 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

EventClass

int

Type of event = 34.

27

No

EventSequence

int

Sequence of a given event within the request.

51

No

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

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 SQL Server security login or the Microsoft 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

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 object.

22

Yes

ObjectName

nvarchar

Name of the stored procedure. If ObjectName is populated, then TextData will not be populated.

34

Yes

ObjectType

int

Value representing the type of the object involved in the event. This value corresponds to the type column in the sys.objects catalog view. For values, see ObjectType Trace Event Column.

28

Yes

RequestID

int

ID of the request containing the statement.

49

Yes

ServerName

nvarchar

Name of the instance of SQL Server being traced.

26

No

SessionLoginName

nvarchar

Login name of the user who originated the session. For example, if you connect to SQL Server using Login1 and execute a statement as Login2, SessionLoginName shows Login1 and LoginName shows Login2. This column displays both SQL Server and Windows logins.

64

Yes

SPID

int

ID of the session on which the event occurred.

12

Yes

StartTime

datetime

Time at which the event started, if available.

14

Yes

TextData

ntext

Text of the SQL code that is being cached. If TextData is populated, ObjectName is not populated.

1

Yes

TransactionID

bigint

System-assigned ID of the transaction.

4

Yes

XactSequence

bigint

Token that describes the current transaction.

50

Yes