Classe de evento Performance Statistics

A classe de evento Performance Statistics pode ser usada para monitorar o desempenho de consultas, procedimentos armazenados e gatilhos que são executados. Cada uma das seis subclasses de evento indica um evento no tempo de vida de consultas, procedimentos armazenados e gatilhos no sistema. Usando a combinação dessas subclasses de evento e as exibições de gerenciamento dinâmico sys.dm_exec_query_stats, sys.dm_exec_procedure_stats e sys.dm_exec_trigger_stats associadas, você pode reconstituir o histórico de desempenho de qualquer consulta, procedimento armazenado ou gatilho específico.

Colunas de dados da classe de evento Performance Statistics

As tabelas a seguir descrevem as colunas de dados da classe de evento associada a cada uma das seguintes subclasses de evento: EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 e EventSubClass 5.

EventSubClass 0

Nome da coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

NULL

52

Sim

BinaryData

image

NULL

2

Sim

DatabaseID

int

ID do banco de dados especificada pela instrução USE database ou o banco de dados padrão, se nenhuma instrução USE database tiver sido emitida para uma determinada instância. O SQL Server Profiler exibirá o nome do banco de dados se a coluna de dados do ServerName for capturada no rastreamento e o servidor estiver disponível. Determine o valor de um banco de dados usando a função DB_ID.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

EventSubClass

int

Tipo de subclasse de evento.

0 = Novo texto SQL de lote que atualmente não está presente no cache.

Os tipos de EventSubClass a seguir são gerados no rastreamento para lotes ad hoc.

Para lotes ad hoc com n número de consultas:

  • 1 do tipo 0

21

Sim

IntegerData2

int

NULL

55

Sim

ObjectID

int

NULL

22

Sim

Offset

int

NULL

61

Sim

PlanHandle

Image

NULL

65

Sim

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Login1 e executar uma instrução como Login2, SessionLoginName mostrará o Login1 e LoginName mostrará o Login2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL que pode ser usado para obter o texto SQL do lote usando a exibição de gerenciamento dinâmico dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

Texto SQL do lote.

1

Sim

EventSubClass 1

Nome da coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

O número cumulativo de vezes que esse plano foi recompilado.

52

Sim

BinaryData

image

O XML binário do plano compilado.

2

Sim

DatabaseID

int

ID do banco de dados especificada pela instrução USE database ou o banco de dados padrão, se nenhuma instrução USE database tiver sido emitida para uma determinada instância. O SQL Server Profiler exibirá o nome do banco de dados se a coluna de dados do ServerName for capturada no rastreamento e o servidor estiver disponível. Determine o valor de um banco de dados usando a função DB_ID.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Logon1 e executar uma instrução como Logon2, SessionLoginName mostrará o Logon1 e LoginName mostrará o Logon2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

EventSubClass

int

Tipo de subclasse de evento.

1 = Foram compiladas consultas dentro de um procedimento armazenado.

Os seguintes tipos de EventSubClass são gerados no rastreamento para procedimentos armazenados.

Para procedimentos armazenados com o número de consultas n:

  • n número de tipo 1

21

Sim

IntegerData2

int

Término da instrução do procedimento armazenado.

-1 para o término do procedimento armazenado.

55

Sim

ObjectID

int

ID do objeto atribuída pelo sistema.

22

Sim

Offset

int

Iniciando deslocamento da instrução no procedimento armazenado ou lote.

61

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL que pode ser usado para obter o texto SQL do procedimento armazenado usando a exibição de gerenciamento dinâmico dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

NULL

1

Sim

PlanHandle

image

O identificador do plano compilado para o procedimento armazenado. Isso pode ser usado para obter o plano XML usando a exibição de gerenciamento dinâmico sys.dm_exec_query_plan.

65

Sim

ObjectType

int

Um valor que representa o tipo do objeto envolvido no evento.

8272 = procedimento armazenado

28

Sim

BigintData2

bigint

Memória total, em quilobytes, usada durante a compilação.

53

Sim

CPU

int

Tempo total de CPU, em milissegundos, gasto durante a compilação.

18

Sim

Duration

int

Tempo total, em milissegundos, gasto durante a compilação.

13

Sim

IntegerData

int

O tamanho, em quilobytes, do plano compilado.

25

Sim

EventSubClass 2

Nome da coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

O número cumulativo de vezes que esse plano foi recompilado.

52

Sim

BinaryData

image

O XML binário do plano compilado.

2

Sim

DatabaseID

int

ID do banco de dados especificada pela instrução USE database ou o banco de dados padrão, se nenhuma instrução USE database tiver sido emitida para uma determinada instância. O SQL Server Profiler exibirá o nome do banco de dados se a coluna de dados do ServerName for capturada no rastreamento e o servidor estiver disponível. Determine o valor de um banco de dados usando a função DB_ID.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Logon1 e executar uma instrução como Logon2, SessionLoginName mostrará o Logon1 e LoginName mostrará o Logon2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

EventSubClass

int

Tipo de subclasse de evento.

2 = Consultas dentro um instrução SQL ad hoc foram compiladas.

Os seguintes tipos de EventSubClass são gerados no rastreamento para lotes ad hoc.

Para lotes ad hoc com n número de consultas:

  • n número de tipo 2

21

Sim

IntegerData2

int

Término da instrução dentro do lote.

-1 para o término do lote.

55

Sim

ObjectID

int

N/D

22

Sim

Offset

int

Deslocamento inicial da instrução do lote.

0 para o início do lote.

61

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL. Esse identificador pode ser usado para obter o texto SQL do lote usando a exibição de gerenciamento dinâmico sys.dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

NULL

1

Sim

PlanHandle

image

O identificador de plano do plano compilado para o lote. Esse identificador pode ser usado para obter o plano XML do lote usando a exibição de gerenciamento dinâmico dm_exec_query_plan.

65

Sim

BigintData2

bigint

Memória total, em quilobytes, usada durante a compilação.

53

Sim

CPU

int

Tempo total de CPU, em milissegundos, gasto durante a compilação.

18

Sim

Duration

int

Tempo total, em milissegundos, gasto durante a compilação.

13

Sim

IntegerData

int

O tamanho, em quilobytes, do plano compilado.

25

Sim

EventSubClass 3

Nome da coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

O número cumulativo de vezes que esse plano foi recompilado.

52

Sim

BinaryData

image

NULL

2

Sim

DatabaseID

int

ID do banco de dados especificada pela instrução USE database ou o banco de dados padrão, se nenhuma instrução USE database tiver sido emitida para uma determinada instância. O SQL Server Profiler exibirá o nome do banco de dados se a coluna de dados do ServerName for capturada no rastreamento e o servidor estiver disponível. Determine o valor de um banco de dados usando a função DB_ID.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Logon1 e executar uma instrução como Logon2, SessionLoginName mostrará o Logon1 e LoginName mostrará o Logon2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

EventSubClass

int

Tipo de subclasse de evento.

3 = Uma consulta armazenada em cache foi destruída e os dados históricos do desempenho associados ao plano serão destruídos.

Os seguintes tipos de EventSubClass são gerados no rastreamento.

Para lotes ad hoc com n número de consultas:

  • 1 de tipo 3 quando a consulta é liberada do cache

Para procedimentos armazenados com o número de consultas n:

  • 1 de tipo 3 quando a consulta é liberada do cache.

21

Sim

IntegerData2

int

Fim da instrução no procedimento armazenado ou lote.

-1 para o final do procedimento armazenado ou lote.

55

Sim

ObjectID

int

NULL

22

Sim

Offset

int

Iniciando deslocamento da instrução no procedimento armazenado ou lote.

0 para o início do procedimento armazenado ou lote.

61

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL que pode ser usado para obter o texto SQL do procedimento armazenado ou do lote usando a exibição de gerenciamento dinâmico dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

QueryExecutionStats

1

Sim

PlanHandle

image

O identificador de plano do plano compilado para o procedimento armazenado ou lote. Esse identificador pode ser usado para obter o plano XML usando a exibição de gerenciamento dinâmico dm_exec_query_plan.

65

Sim

GroupID

int

ID do grupo de cargas de trabalho no qual o evento Rastreamento SQL foi disparado.

66

Sim

EventSubClass 4

Nome da coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

NULL

52

Sim

BinaryData

image

NULL

2

Sim

DatabaseID

int

ID do banco de dados em que o procedimento armazenado específico reside.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Logon1 e executar uma instrução como Logon2, SessionLoginName mostrará o Logon1 e LoginName mostrará o Logon2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

EventSubClass

int

Tipo de subclasse de evento.

4 = Um procedimento armazenado em cache foi removido do cache e os dados de histórico de desempenho associados a ele estão prestes a serem destruídos.

21

Sim

IntegerData2

int

NULL

55

Sim

ObjectID

int

Identificação do procedimento armazenado. É igual à coluna object_id em sys.procedures.

22

Sim

Offset

int

NULL

61

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL que pode ser usado para obter o texto SQL do procedimento armazenado que foi executado usando a exibição de gerenciamento dinâmico dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

ProcedureExecutionStats

1

Sim

PlanHandle

image

O identificador do plano compilado para o procedimento armazenado. Esse identificador pode ser usado para obter o plano XML usando a exibição de gerenciamento dinâmico dm_exec_query_plan.

65

Sim

GroupID

int

ID do grupo de cargas de trabalho no qual o evento Rastreamento SQL foi disparado.

66

Sim

EventSubClass 5

Nome de coluna de dados

Tipo de dados

Descrição

ID da coluna

Filtrável

BigintData1

bigint

NULL

52

Sim

BinaryData

image

NULL

2

Sim

DatabaseID

int

Identificação do banco de dados no qual o gatilho específico reside.

3

Sim

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

SessionLoginName

nvarchar

Nome de logon do usuário que originou a sessão. Por exemplo, ao se conectar ao SQL Server usando o Logon1 e executar uma instrução como Logon2, SessionLoginName mostrará o Logon1 e LoginName mostrará o Logon2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

EventSubClass

int

Tipo de subclasse de evento.

5 = Um gatilho armazenado em cache foi removido do cache e os dados de histórico de desempenho associados a ele estão prestes a serem destruídos.

21

Sim

IntegerData2

int

NULL

55

Sim

ObjectID

int

Identificação do gatilho. É igual à coluna object_id nas exibições do catálogo sys.triggers/sys.server_triggers.

22

Sim

Offset

int

NULL

61

Sim

SPID

int

Identificação da sessão em que o evento ocorreu.

12

Sim

SqlHandle

image

Identificador SQL que pode ser usado para obter o texto SQL do gatilho usando a exibição de gerenciamento dinâmico dm_exec_sql_text.

63

Sim

StartTime

datetime

Horário em que o evento foi iniciado, se disponível.

14

Sim

TextData

ntext

TriggerExecutionStats

1

Sim

PlanHandle

image

O identificador do plano compilado para o gatilho. Esse identificador pode ser usado para obter o plano XML usando a exibição de gerenciamento dinâmico dm_exec_query_plan.

65

Sim

GroupID

int

ID do grupo de cargas de trabalho no qual o evento Rastreamento SQL foi disparado.

66

Sim