Rasto dos pedidos SQL Server 

Introdução

Este utilitário acessível depois não importa qual ecrã do software desde logo que a base de dados utilizada é SQL Server™, via o menu Utilitários situado em alto do ecrãn, que contém as duas escolhas seguintes:

Activação rasto SQL Server

Esta função permite via a funcionalidade de rasto sob SQL Server, de activar o registo de eventos sobre a base de um ficheiro, eventos que poderão em seguida ser analisadas.

Desactivação rasto

Esta função lança o retratamento do ficheiro de resto obtido por activação depois a visualização do resultado. Este permite ver todas as ordens SQL executadas durante a activação.

Pré-requisitos

Habilitação

O utilizador deve ser autorizado a utilizar o debugger (parâmetro DBG).

Constrangimento técnico

A função só pode funcionar se um servidor de tratamento está instalado e está activo sobre a máquina da base de dados.

Interface utilizador

Quando se lança a função, um ecrã permite de registar um conjunto de opções :

Recuperação dos resultados

Falta indicar aquelas informações vão ser colectadas para a análise.

A opção Standard permite de recuperar os planos de execução dos pedidos.

A opção Tuning permite recuperar as informações sobre as acções SQL executadas assim que os planos de execução dos pedidos.

O utilizador pode assim escolher ele mesmo os eventos a colectar por "Parametrização eventos avançada". A janela correspondente lhe permitirá de escolher todas as opções possíveis.

Estes eventos são reagrupados por tipo. Para mais informações sobre os eventos, reportar-se-á à documentação SQL Server, do qual se encontrará em anexo.

Opções de ordenação

Por defeito as ordens SQL são detalhadas por ordem cronológica mas é possível indicar as opções de ordenação.

Várias proposições de ordenação são propostos e encontrará em primeiro as ordens correspondentes ao custo mais importante segundo a ordenação pedida.

Apresentação dos resultados

O utilizador pode escolher de só listar as n primeiras ordens SQL reconduzidas.

No caso onde se escolheu uma ordenação, obter-se-á os n primeiros eventos passados sobre a base de dados que correspondem ao custo o mais importante desta ordenação.

Utilização do rasto obtido

Poderá observar a duração (duration) obtida no momento de execução dos pedidos e acções SQL (obtido sobre o evento "Completed")

Quando se obterá um custo sobre estas acções, poderá observar se o pedido está performante, se ela utiliza bem os índices.

Não faltará encontrar a Tabela "Scan"

Não faltará encontrar a Tabela "Scan"

Quando se encontro utilização de um índice (Indice), falta verificar que se utiliza ao máximo as colunas de índice (na parte "SEEK:")

Extraído da documentação SQL Server

Este quadro directório os eventos que podem ser acrescentadas ou suprimidas de um rasto.

Número de evento.


Nome do evento.


Descrição

0-9

Reservado

 

10

RPC:Completed

Produz-se quando uma chamada de procedimento distante (RPC) está terminada.

11

RPC:Starting

Produz-se quando uma chamada de procedimento distante começou.

12

SQL:BatchCompleted

Produz-se quando um lote de instruções Transact-SQL está terminado.

13

SQL:BatchStarting

Produz-se quando um lote de instruções Transact-SQL arrancou.

14

Login

Produz-se quando um utilizador tem sucesso a conectar a SQL Server.

15

Logout

Produz-se quando um utilizador se desconecta de SQL Server.

16

Atenção:

Produz-se ao mesmo tempo que os eventos de advertências, tais que os pedidos de interrupção do cliente ou as rupturas de conexão cliente.

17

ExistingConnection

Detecta todas as actividades dos utilizadores conectados a SQL Server tendo o arranque do rasto.

18

ServiceControl

Produz-se quando a lista dos serviços de SQL está modificada.

19

DTCTransaction

Rasto as transacções coordenadas por Microsoft Distributed Transaction Coordinator (MS DTC) entre duas ou várias bases de dados.

20

Login Failed

Indica que uma tentativa de conexão a SQL Server depois um cliente encalhou.

21

EventLog

Indica que os eventos foram consignados no diário das aplicações de Microsoft Windows NT®.

22

ErrorLog

Indique que os eventos de erro são consignadas no diário de erros de SQL Server.

23

Lock:Release

Indique que um fecho sobre um recurso, uma página por exemplo, foi desbloqueado.

24

Lock:Acquire

Indica que um fecho foi adquirido sobre um recurso, uma página de dados por exemplo.

25

Lock:Deadlock

Indica que duas transacções concorrentes foram gerados um interblocagem, uma ensaiando de obter fechos incompatíveis sobre os recursos pertencentes ao outro.

26

Lock:Canceled

Indica que a aquisição de um fecho sobre um recurso foi anulado (por exemplo à causa de uma interblocagem).

27

Lock:Timeout

Indica que um pedido de fecho sobre um recurso (por exemplo uma página) ultrapassou o atraso de espera porque uma outra transacção retem um fecho bloqueando sobre o recurso requerido. O atraso de espera está determinado pela função @@LOCK_TIMEOUT e pode ser definido na ajuda de instrução SET LOCK_TIMEOUT.

28

DOP Event

Se produz antes da execução de uma instrução SELECT, INSERT ou UPDATE.

29-31

Reservado

Utiliza frequentemente o evento 28.

32

Reservado

 

33

Excepção

Indica que uma excepção é produzida em SQL Server.

34

SP:CacheMiss

Indica que um procedimento armazenado não é encontrável no "cache" de procedimento.

35

Indica que um elemento está inserido na "cache" de procedimento.

36

SP:CacheRemove

Indica que um elemento está suprimido da "cache" de procedimento.

37

SP:Recompile

Indica que um procedimento armazenado foi recompilado.

38

SP:CacheHit

Indica que um procedimento armazenado não é encontrado no "cache" de procedimento.

39

SP:ExecContextHit

Indica quando a versão de execução de um procedimento armazenado foi encontrado na "cache"

40

SQL:StmtStarting

Se produto quando a instrução Transact-SQL foi arrancado

41

SQL:StmtCompleted

Se produz no momento do fim da instrução Transact-SQL

42

SP:Starting

Indica que o procedimento armazenado foi arrancado.

43

SP:Recompile

Indica que o procedimento armazenado foi arrancado.

44

Reservado

Utiliza frequentemente o evento 40.

45

Reservado

Utiliza frequentemente o evento 41.

46

Objetct:Created

Indica que um objecto foi criado, por exemplo com as instruções CREATE INDEX, CREATE TABLE e CREATE DATABASE.

47

Objetct:Deleted

Indica que um objecto foi suprimido, por exemplo com as instruções DROP INDEX et DROP TABLE.

48

Reservado

 

49

Reservado

 

50

SQL Transaction

Rasto as instruções Transact-SQL BEGIN, COMMIT, SAVE e ROLLBACK TRANSACTION.

51

Scan:Started

Indique que uma análise de tabela ou de índice foi arrancada.

52

Scan:Stopped

Indique que uma análise de tabela ou de índice foi arrancada.

53

CursorOpen

Indique que um cursor está aberto numa instrução Transact-SQL por ODBC, OLE DB ou DB-Library.

54

Transaction Log

Rasto a qual momento as transacções são escritas no jornal das transacção.

55

HashWarning

Indica que uma operação de corte (junto corte, agregação cortada, união cortada, corte distinto) que não está em curso sobre um tampão de partição bascula versus um plano de reserva. Isto se produz à causa da profundidade de recorrência, da deslocação dos dados, dos indicadores de resto ou de contagem dos bits.

56-57

Reservado

 

58

Auto Update Stats

Indica que uma actualização automatica das estatísticas de indice teve lugar.

59

Lock:Deadlock

Produto para cada um dos eventos impedindo a blocagem.

60

Lock:Escalation

Se produz quando se estende os fechos é acrescentada. Exemplo: fecho de linha aumentada ou convertida em fecho de página.

61

OLE DB Errors

Indique que um erro OLE DB foi produzido.

62-66

Reservado

 

67

ExecutionWarnings

Indica que as mensagens de advertência surgidos no momento de execução de uma instrução ou de um procedimento armazenado SQL Server.

68

Execução Plano

Afixa a arborescência do plano de instrução SQL executada.

69

Sort Warnings

Indica as operações de ordenação não podendo ser efectuados em memória. Não inclui as operações de ordenação compreendendo a criação de um índice, apenas as operações de triagem ao seio de um pedido (uma claúsula ORDER BY numa encomenda SELECT, por exemplo).

70

CursorPrepare

Indique que um cursor está numa instrução Transact-SQL, está preparada para ser utilizada por ODBC, OLE DB ou DB-Library.

71

Prepare SQL

ODBC, OLE DB ou DB-Library preparou uma ou várias instruções Transact-SQL a utilizar.

72

Exec Prepared SQL

ODBC, OLE DB ou DB-Library preparou uma ou várias instruções preparadas Transact-SQL.

73

Unprepare SQL

ODBC, OLE DB ou DB-Library anulou uma ou das instruções Transact-SQL preparadas.

74

CursorExecute

Um cursor previamente preparado numa instrução Transact-SQL par ODBC, OLE DB ou DB-Library foi executado.

75

CursorRecompile

Um cursor aberto numa instrução Transact-SQL par ODBC ou DB-Library foi recompilado seja directamente, seja do facto de uma alteração de esquema.

Desencadeia para os cursores ANSI e não-ANSI.

76

CursorImplicitConversion

Um cursor numa instrução Transact-SQL está convertido por SQL Server de um tipo a um outro.

Desencadeia para os cursores ANSI e não-ANSI.

77

CursorUnprepare

Um cursor preparado numa instrução Transact-SQL é anulado por ODBC, OLE DB ou DB-Library.

78

CursorClose

Um cursor previamente aberto numa instrução Transact-SQL por ODBC, OLE DB ou DB-Library está fechado.

79

Missing Column Statistics

As estatísticas de coluna que têm podido ser úteis para o optimizador não estão disponíveis.

80

Missing Join Predicate

Um pedido sem predicado de junção está em curso de execução. Isto pode tornar o pedido longo a executar.

81

Server Memory Change

A utilização da memória de Microsoft SQL Server aumentou ou diminuiu, seja de 1 Mb, seja de 5% da tamanho máximo da memória, segundo aquele que é maior.

82-91

Utilizador Configurável (0-9)

Dados de eventos definidos pelo utilizador.

92

Data File Auto Grow

Indique um ficheiro jornal foi aumentado automaticamente pelo servidor.

93

Log File Auto Grow

Indique um ficheiro jornal foi aumentado automaticamente pelo servidor.

94

Data File Auto Shrink

Indica se um ficheiro de dados foi reduzido automaticamente pelo servidor.

95

Log File Auto Shrink

Indica se um ficheiro diário foi reduzido automaticamente pelo servidor.

96

Show Plan Text

Afixa a arborescência do plano de pedido de instrução SQL a partir do optimizador do pedido.

97

Show Plan ALL

Afixa o plano de pedido com os detalhes completos da compilação da instrução SQL em curso de execução.

98

Show Plan Statistics

Afixa o plano de pedido com os detalhes completos da execução de instrução SQL em curso.

99

Reservado

 

100

RPC Output Parameter

Produz os valores de saída dos parâmetros para todos os RPC.

101

Reservado

 

102

Audit Statement GDR

Se produz cada vez que GRANT, DENY ou REVOKE são emitidos por um utilizador para uma autorização de instrução no SQL Server.

103

Audit Object GDR

Se produz cada vez que GRANT, DENY ou REVOKE são emitidos por um utilizador para uma autorização de objecto no SQL Server.

104

Audit Add/Drop Login

Se produz quando uma conexão de acesso SQL Server está acrescentada ou suprimida ; por sp_addlogin e sp_droplogin.

105

Audit Login GDR

Se produz quando um direito de conexão Microsoft Windows® foi acrescentado ou suprimido; para sp_grantlogin, sp_revokelogin e sp_denylogin.

106

Audit Login Change Property

Se produz quando uma propriedade de uma conexão de acesso, excepto para as palavras chave, está modificada; por sp_defaultdb et sp_defaultlanguage.

107

Audit Login Change Property

Se produz quando a palabra chave de uma conexão de acesso SQL Server está modficado.

As duas palavras chave não são idênticas

108

Audit Add Login to Server Role

Se produz quando uma conexão de acesso está acrescentada ou suprimida de um papel de servidor fixo; para sp_addsrvrolemember e sp_dropsrvrolemember

109

Audit Add DB User

Produz-se quando uma conexão de acesso está acrescentada ou suprimida sob forma de utilizador de base de dados (Windows ou SQL Server) numa base de dados ; para sp_grantdbaccess, sp_revokedbaccess, sp_adduser e sp_dropuser.

110

Audit Add Member to DB

Produz-se quando uma conexão de acesso está acrescentada ou suprimida sob forma de utilizador de base de dados (fixa ou definida pelo utilizador) numa base de dados ; para sp_addrolemember, sp_droprolemember e sp_changegroup.

111

Audit Add/Drop Login

Produz-se quando uma conexão de acesso está acrescentada ou suprimida sob forma de utilizador de base de dados ; para uma base de dados; para sp_addrole e sp_droprole.

112

App Role Pass Change

Se produz quando a palavra chave de uma conexão de aplicação está modificada.

113

Audit Statement Permission

Se produz quando uma autorização de instrução (por exemplo, CREATE TABLE) está utilizada.

114

Audit Object Permission

Se produz quando uma autorização de objecto (por exemplo, SELECT) está utilizada, de maneira com sucesso ou não.

115

Audit Backup/Restore

Se produz quando uma encomenda BACKUP ou RESTORE é emitida.

116

Audit DBCC

Se produz quando os comandos DBCC são emitidas.

117

Audit Change Audit

Se produz quando as modificações de resto de auditoria são efectuados.

118

Audit Object Derived Permission

Se produz na emissão de encomendas de objectos CREATE, ALTER e DROP.

Erros

Para além das mensagens genéricas, as seguintes mensagens de erro podem aparecer durante o reg. :

"Erro no momento de acesso ao servidor da base de dados"

O acesso à máquina da base de dados não é possível, não existe servidor de tratamento onde não foi arrancado.

"Erro de acesso ao directório dos rastos da base de dados"

O directório indicado como directório dos rastos não está acessível