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 :
Leçon 1 : création des objets de conversation dans la base de données
Dans cette leçon, vous allez créer les types de messages, le contrat, les services et les files d'attente nécessaires pour prendre en charge une conversation Service Broker de base.Leçon 2 : création d'une procédure d'activation interne
Dans cette leçon, vous allez créer la procédure stockée qui recevra des messages de la file d'attente cible, puis vous allez modifier la file d'attente cible de manière à spécifier l'activation interne.Leçon 3 : lancement d'une conversation et transmission de messages
Dans cette leçon, vous allez exécuter une conversation de base. Pour cela, vous devez lancer la conversation et transmettre un message de demande de l'initiateur à la cible, La procédure stockée d'activation interne recevra le message de demande et renverra un message de réponse. Vous allez ensuite terminer la conversion côté initiateur et la procédure stockée terminera la conversation côté cible.Leçon 4 : suppression des objets de la conversation
L'objectif de cette leçon est de supprimer les objets créés pour prendre en charge la conversation.
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 :
Toute édition de SQL Server 2005 ou SQL Server 2008.
SQL Server Management Studio ou Management Studio Express.
Internet Explorer 6 ou une version ultérieure.
Exemple de base de données AdventureWorks2008R2. Pour plus d'informations sur l'installation des exemples de bases de données, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.
Notes
Lorsque vous parcourez les didacticiels, il est recommandé d'ajouter les boutons Suivant et Précédent dans la barre d'outils de l'afficheur de document. Pour plus d'informations, consultez Ajout des boutons Rubrique suivante et Rubrique précédente dans l'aide.