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. |
Consulte também