Compartilhar via


Compreendendo notificações de eventos versus rastreamento do SQL

A tabela a seguir compara e contrasta o uso de notificações de eventos e do rastreamento do SQL para monitorar eventos de servidor.

Rastreamento do SQL

Notificações de eventos

O rastreamento do SQL não gera nenhuma sobrecarga de desempenho associada às transações. O empacotamento de dados é eficiente.

Há sobrecarga de desempenho associada à criação dos dados de eventos formatados por XML e ao envio da notificação de eventos.

O rastreamento do SQL pode monitorar qualquer classe de evento.

Notificações de eventos podem monitorar um subconjunto de classes de evento de rastreamento e também todos os eventos de linguagem de definição de dados (DDL).

Você pode personalizar quais colunas de dados devem ser geradas em um evento de rastreamento.

O esquema dos dados de evento formatados por XML retornado por notificações de eventos é fixo.

Eventos de rastreamento gerados por DDL sempre são gerados, independentemente de a instrução DDL ser revertida ou não.

As notificações de eventos não serão acionadas se o evento na instrução DDL correspondente for revertido.

Gerenciar o fluxo intermediário de dados de evento de rastreamento envolve popular e gerenciar arquivos ou tabelas de rastreamento.

O gerenciamento intermediário de dados de notificação de eventos é feito automaticamente, através de filas do Service Broker.

Os rastreamentos devem ser reiniciados toda vez que o servidor for reiniciado.

Depois de registradas, as notificações de eventos persistem pelos ciclos de servidor e são transacionadas.

Depois de iniciado, o acionamento de rastreamentos não pode ser controlado. Podem ser usados horários de parada e de filtro para especificar quando devem ser iniciados. Os rastreamentos são acessados pela sondagem do arquivo de rastreamento correspondente.

As notificações de eventos podem ser controladas pelo uso da instrução WAITFOR em relação à fila que recebe a mensagem gerada pela notificação. Elas podem ser acessadas pela sondagem da fila.

ALTER TRACE é a permissão mínima exigida para a criação de um rastreamento. Também é necessária permissão para criar um arquivo de rastreamento no computador correspondente.

A permissão mínima depende do tipo de notificação de eventos criada. Para obter mais informações, consulte CREATE EVENT NOTIFICATION (Transact-SQL). Também é necessária permissão RECEIVE na fila correspondente.

Os rastreamentos podem ser recebidos remotamente.

As notificações de eventos podem ser recebidas remotamente.

Os eventos de rastreamento são implementados pelo uso de procedimentos armazenados do sistema.

As notificações de eventos são implementadas pelo uso de uma combinação de instruções Transact-SQL do Mecanismo de Banco de Dados e do Service Broker.

Os dados de eventos do rastreamento podem ser acessados via programação, por consultas à tabela de rastreamento correspondente, análise do o arquivo de rastreamento ou uso da classe TraceReader do SQL Server Management Objects (SMO).

Os dados de eventos são acessados via programação emitindo-se XQuery em relação aos dados de eventos formatados por XML ou por meio das classes de evento do SMO.