Outils de dépannage (Service Broker)

Service Broker propose plusieurs outils permettant de diagnostiquer les problèmes de configuration et de conversation.

Service Broker est un composant du Moteur de base de données. Par conséquent, de nombreux outils du Moteur de base de données peuvent également être utilisés pour diagnostiquer les problèmes de Service Broker. Pour plus d'informations, consultez Outils de dépannage (moteur de base de données).

Utilitaire ssbdiagnose

L'utilitaire ssbdiagnose analyse la configuration des services Service Broker et des conversations en cours d'exécution afin d'identifier des erreurs. Utilisez ssbdiagnose pour effectuer les opérations suivantes :

  • Confirmer qu'une application Service Broker récemment configurée ne contient pas d'erreurs de configuration.

  • Confirmer l'absence d'erreurs de configuration après modification de la configuration d'une application Service Broker existante.

  • Confirmer l'absence d'erreurs de configuration après qu'une base de données Service Broker a été détachée puis rattachée à une nouvelle instance du Moteur de base de données.

  • Déterminer quelles erreurs empêchent les messages d'être transmis avec succès entre des services.

Pour plus d'informations sur l'utilisation de cet utilitaire, consultez Utilitaire ssbdiagnose.

File d'attente de transmission de Service Broker

Les messages Service Broker qui ne sont pas transmis avec succès à la file d'attente de réception sont conservés dans la file d'attente de transmission Service Broker de la base de données d'envoi. Vous pouvez utiliser la vue système sys.transmission_queue dans chaque base de données pour consulter les messages d'une file d'attente. Pour tout message qui se trouve dans la file d'attente suite à une erreur de transmission, la colonne transmission_status contient le message d'erreur.

Tous les messages de la file d'attente de transmission ne sont pas dus à des erreurs :

  • Certains messages de la file d'attente peuvent être en processus d'envoi. Certains messages peuvent par exemple attendre qu'un récepteur déconnecté soit reconnecté ou qu'un envoi réseau soit accepté.

  • Si la propriété RETENTION d'une file d'attente a la valeur ON, les messages transmis avec succès sont conservés dans la file d'attente de transmission jusqu'à ce que la conversation soit terminée.

La colonne is_conversation_error indique si le message a rencontré une erreur.

Pour plus d'informations sur sys.transmission_queue, consultez sys.transmission_queue (Transact-SQL).

Événements SQL Trace de Service Broker

Service Broker propose différents événements SQL Trace que vous pouvez utiliser pour diagnostiquer des problèmes. Vous pouvez utiliser SQL Server Profiler ou des procédures stockées système pour configurer une instance SQL Trace qui surveille l'apparition d'événements ou d'erreurs Service Broker. Cela vous permet de connaître les événements Service Broker générés par le système, et s'ils rencontrent des erreurs.

Pour plus d'informations sur l'utilisation de SQL Trace, consultez Analyse des événements.

Pour plus d'informations sur les événements de trace Service Broker, consultez Catégorie d'événement Broker.

Objets de performance de Service Broker

Service Broker propose différents objets de performance que vous pouvez utiliser dans Moniteur système pour suivre les performances des opérations Service Broker.

Pour plus d'informations, consultez Surveillance de l'utilisation des ressources (Moniteur système).

Pour plus d'informations sur les objets de performance Service Broker, consultez les rubriques suivantes :

Erreurs Service Broker

Service Broker utilise les mêmes mécanismes que le Moteur de base de données pour retourner des erreurs aux applications ou aux outils. Pour plus d'informations, consultez Présentation des erreurs du moteur de base de données.

Pour plus d'informations sur les erreurs spécifiques à Service Broker, consultez Guide de référence des erreurs et des événements (Service Broker).

Les erreurs Service Broker générées lorsque vous exécutez une instruction Transact-SQL sont retournées à l'application appelante. Par exemple, si vous exécutez un script dans l'éditeur de requête Management Studio Transact-SQL, toute erreur provenant d'instructions Service Broker Transact-SQL est retournée dans la fenêtre Messages.

De nombreuses opérations Service Broker sont asynchrones et se produisent lorsque aucune application n'est connectée à l'instance du Moteur de base de données. Ces erreurs sont généralement retournées dans le journal des erreurs et le journal d'application Windows associés à l'instance du Moteur de base de données. Pour plus d'informations, consultez Surveillance des journaux d'erreurs.

Affichages système de Service Broker

Service Broker propose différentes vues système pour analyser les configurations Service Broker existantes ou surveiller l'état des composants Service Broker.

Affichage catalogue de Service Broker

Les affichages catalogue de Service Broker retournent des données pour la configuration actuelle d'objets de catalogue Service Broker, tels que les files d'attente et les contrats.

Pour obtenir la liste des vues catalogue de Service Broker, consultez Vues de catalogue relatives à Service Broker (Transact-SQL).

Vues de gestion dynamique de Service Broker

Les vue de gestion dynamique de Service Broker retournent des données sur l'état actuel de composants Service Broker, tels que les tâches d'activation et les connexions Service Broker.

Pour obtenir la liste des vues de gestion dynamique de Service Broker, consultez Vues de gestion dynamique liées à Service Broker (Transact-SQL).