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. |
Vedere anche