Implémentation de l'activation interne

Ce didacticiel est destiné aux nouveaux utilisateurs de Service Broker qui maîtrisent cependant les concepts de base de données et les instructions Transact-SQL. Il permet aux nouveaux utilisateurs de débuter en leur montrant comment implémenter une procédure stockée d'activation interne pour traiter les messages Service Broker.

Contenu du didacticiel

Ce didacticiel montre comment créer les objets de base de données qui sont requis pour prendre en charge une conversation Service Broker simple de type demande-réponse en utilisant une procédure stockée d'activation interne. Vous allez ensuite lancer une conversation et l'utiliser pour transmettre des messages.

Chaque conversation Service Broker comporte deux extrémités : l'initiateur de la conversion et sa cible. Dans une conversation de type demande-réponse, un message de demande est envoyé par l'initiateur à la cible, qui renvoie un message de réponse. L'activation interne de Service Broker peut être utilisée pour exécuter une procédure stockée dès que des messages doivent être traités. Service Broker peut exécuter plusieurs copies de la procédure stockée si de nombreux messages sont transmis. Ce didacticiel vous montre comment créer une procédure stockée qui reçoit les messages de demande au niveau de la cible et comment configurer la cible de sorte qu'elle utilise l'activation interne pour exécuter la procédure stockée.

Vous allez effectuer les tâches suivantes :

  • créer un service et une file d'attente pour la cible et pour l'initiateur ;

  • créer un message de type demande et un message de type réponse ;

  • créer un contrat qui spécifie que les messages de demande passent de l'initiateur à la cible, et que les messages de réponse passent de la cible à l'initiateur ;

  • créer une procédure stockée que reçoit les messages de demande de la file d'attente cible et envoie des messages de réponse à l'initiateur ;

  • modifier la file d'attente cible de manière à permettre l'activation interne de la procédure stockée.

Vous allez ensuite effectuer les étapes suivantes pour exécuter une conversation simple :

  • démarrer la conversation ;

  • envoyer une demande de l'initiateur à la cible ;

  • Service Broker activera ensuite la procédure stockée. la procédure stockée recevra ensuite la demande au niveau de la cible et enverra une réponse à l'initiateur ;

  • recevoir la réponse au niveau de l'initiateur ;

  • terminer la conversation côté initiateur ;

  • Service Broker activera ensuite la procédure stockée une deuxième fois, et la procédure stockée terminera la conversation côté cible.

Les messages ne sont pas transmis sur un réseau pour les conversations dont les deux extrémités se trouvent dans la même instance du Moteur de base de données. Les autorisations et la sécurité du Moteur de base de données limitent l'accès à des principaux autorisés. Le chiffrement du réseau n'est pas nécessaire dans ce scénario.

Ce didacticiel est divisé en trois leçons :

Conditions requises

Pour mener à bien ce didacticiel, vous devez connaître le langage Transact-SQL et savoir utiliser l'éditeur de requête Moteur de base de données dans SQL Server Management Studio. Vous devez être membre des rôles de base de données fixes db_ddladmin ou db_owner pour l'exemple de base de données AdventureWorks2008R2, ou du rôle serveur fixe sysadmin.

Les programmes suivants doivent être installés sur votre système :