Notifications d'événements et trace SQL

Le tableau ci-dessous fournit une comparaison des notifications d'événements et de la trace SQL employées dans le cadre de la surveillance des événements de serveur.

Trace SQL

Notifications d'événements

Une trace SQL n'engendre aucun surcroît d'utilisation de temps système lié aux transactions. L'empaquetage des données est efficace.

Les ressources système sont sollicitées davantage lors de la création des données d'événements au format XML et de l'envoi des notifications d'événements.

La trace SQL peut surveiller toutes les classes d'événements de trace.

Les notifications d'événements peuvent surveiller un sous-ensemble des classes d'événements de trace ainsi que tous les événements DDL (Data Definition Language).

Vous pouvez personnaliser les colonnes de données à générer dans l'événement de trace.

Le schéma des données d'événements au format XML renvoyées par les notifications d'événements est fixe.

Les événements de trace générés par DDL sont toujours générés, même si l'instruction DDL est annulée.

Les notifications d'événements ne se déclenchent pas si l'événement de l'instruction DDL correspondante est annulé.

La gestion du flux intermédiaire des données d'événement de trace implique le remplissage et la gestion de fichiers ou de tables de trace.

La gestion intermédiaire des données de notification d'événements est accomplie automatiquement via les files d'attente de Service Broker.

Les traces doivent être redémarrées à chaque démarrage du serveur.

Après avoir été inscrites, les notifications d'événements perdurent au fil des cycles serveur et sont incluses dans une transaction.

Après avoir été lancé, le déclenchement des traces ne peut plus être contrôlé. Les options d'heure d'arrêt et de filtrage permettent de spécifier l'heure de lancement. Les traces sont accessibles par interrogation du fichier de trace correspondant.

Une notification d'événements peut être contrôlée en exécutant l'instruction WAITFOR sur la file d'attente qui reçoit le message généré par la notification. Elle est accessible par interrogation de la file d'attente.

ALTER TRACE est l'autorisation minimale requise pour créer une trace. Une autorisation permettant de créer un fichier de trace sur l'ordinateur est également nécessaire.

L'autorisation minimale dépend du type de notification d'événements créée. Pour plus d'informations, consultez CREATE EVENT NOTIFICATION (Transact-SQL). L'autorisation RECEIVE sur la file d'attente correspondante est également requise.

Les traces peuvent être reçues à distance.

Les notifications d'événements ne peuvent pas être reçues à distance.

Les événements de trace sont mis en œuvre au moyen de procédures stockées système.

Les notifications d'événements sont implémentées à l'aide d'une combinaison d'instructions Transact-SQL du Moteur de base de données et du Service Broker.

Les données d'événements de trace sont accessibles par programme en interrogeant la table de trace correspondante, en analysant le fichier de trace ou au moyen de la classe TraceReader SMO (SQL Server Management Objects).

Les données d'événements sont accessibles par programme en émettant une requête XQuery sur les données d'événements au format XML ou au moyen de classes Event SMO.