Condividi tramite


Informazioni sul confronto tra notifiche degli eventi e Traccia SQL

Nella tabella seguente vengono confrontate le caratteristiche delle notifiche degli eventi e della Traccia SQL per il monitoraggio degli eventi del server.

Traccia SQL

Notifiche degli eventi

In Traccia SQL non viene generato alcun overhead di prestazioni associato alle transazioni. L'assemblaggio dei dati risulta efficace.

La creazione di dati di evento in formato XML e l'invio della notifica degli eventi comportano invece un certo overhead.

In Traccia SQL viene eseguito il monitoraggio di qualsiasi classe di evento di traccia.

Le notifiche degli eventi consentono di eseguire il monitoraggio di un subset di classi di evento di traccia, nonché di tutti gli eventi Data Definition Language (DDL).

È possibile personalizzare le colonne di dati da generare in un evento di traccia.

Lo schema dei dati di evento in formato XML restituiti dalle notifiche degli eventi è fisso.

Gli eventi di traccia restituiti da DDL vengono sempre generati senza tener conto dell'eventuale rollback dell'istruzione DDL.

Le notifiche degli eventi non vengono attivate in caso di rollback dell'evento nell'istruzione DDL corrispondente.

La gestione del flusso intermedio dei dati degli eventi di traccia comporta il popolamento e la gestione dei file o delle tabelle di traccia.

La gestione intermedia dei dati relativi alle notifiche degli eventi viene eseguita automaticamente tramite code Service Broker.

Le tracce devono essere riavviate a ogni riavvio del server.

Dopo la registrazione, le notifiche degli eventi vengono mantenute anche in caso di riavvio del server e incluse nelle transazioni.

Dopo l'avvio, non è possibile controllare l'attivazione delle tracce. È possibile utilizzare orari di interruzione e di filtro per specificare l'ora di avvio. Per accedere alle tracce, è necessario eseguire il polling del file di traccia corrispondente.

È possibile controllare le notifiche degli eventi eseguendo l'istruzione WAITFOR sulla coda che riceve il messaggio generato dalla notifica. Per accedere alle notifiche, è possibile eseguire il polling della coda.

Per creare una traccia, è necessario disporre almeno dell'autorizzazione ALTER TRACE. È inoltre necessario disporre di un'autorizzazione per creare un file di traccia nel computer corrispondente.

L'autorizzazione minima dipende dal tipo di notifica degli eventi da creare. Per ulteriori informazioni, vedere CREATE EVENT NOTIFICATION (Transact-SQL). È inoltre necessaria l'autorizzazione RECEIVE sulla coda corrispondente.

Le tracce possono essere ricevute in remoto.

Le notifiche degli eventi possono essere ricevute in remoto.

Per l'implementazione di eventi di traccia vengono utilizzate stored procedure di sistema.

Per l'implementazione di notifiche di eventi viene utilizzato Motore di database insieme a istruzioni Service BrokerTransact-SQL.

Per accedere ai dati degli eventi di traccia a livello di programmazione, è possibile eseguire una query nella tabella di traccia corrispondente, analizzare il file di traccia oppure utilizzare la classe TraceReader di SMO (SQL Server Management Objects).

Per accedere ai dati degli eventi a livello di programmazione, è possibile eseguire XQuery sui dati degli eventi in formato XML oppure utilizzare le classi di evento di SMO.