Share via


Leçon 4 : suppression des objets de la conversation

Dans cette leçon, vous allez apprendre à supprimer les objets qui ont permis à une base de données de prendre en charge une conversation à l'aide d'une procédure stockée d'activation interne.

Procédures

Basculer vers la base de données AdventureWorks

  • Copiez et collez le code suivant dans une fenêtre de l'éditeur de requête. Puis, exécutez-le pour basculer le contexte vers la base de données AdventureWorks.

    USE AdventureWorks;
    GO
    

Supprimer les objets de la conversation

  • Copiez et collez le code suivant dans une fenêtre de l'éditeur de requête. Puis, exécutez-le pour supprimer les objets utilisés pour prendre en charge la conversation.

    IF EXISTS (SELECT * FROM sys.objects
               WHERE name =
               N'TargetActivProc')
         DROP PROCEDURE TargetActivProc;
    
    IF EXISTS (SELECT * FROM sys.services
               WHERE name =
               N'//AWDB/InternalAct/TargetService')
         DROP SERVICE
         [//AWDB/InternalAct/TargetService];
    
    IF EXISTS (SELECT * FROM sys.service_queues
               WHERE name = N'TargetQueueIntAct')
         DROP QUEUE TargetQueueIntAct;
    
    -- Drop the intitator queue and service if they already exist.
    IF EXISTS (SELECT * FROM sys.services
               WHERE name =
               N'//AWDB/InternalAct/InitiatorService')
         DROP SERVICE
         [//AWDB/InternalAct/InitiatorService];
    
    IF EXISTS (SELECT * FROM sys.service_queues
               WHERE name = N'InitiatorQueueIntAct')
         DROP QUEUE InitiatorQueueIntAct;
    
    -- Drop contract and message type if they already exist.
    IF EXISTS (SELECT * FROM sys.service_contracts
               WHERE name =
               N'//AWDB/InternalAct/SampleContract')
         DROP CONTRACT
         [//AWDB/InternalAct/SampleContract];
    
    IF EXISTS (SELECT * FROM sys.service_message_types
               WHERE name =
               N'//AWDB/InternalAct/RequestMessage')
         DROP MESSAGE TYPE
         [//AWDB/InternalAct/RequestMessage];
    
    IF EXISTS (SELECT * FROM sys.service_message_types
               WHERE name =
               N'//AWDB/InternalAct/ReplyMessage')
         DROP MESSAGE TYPE
         [//AWDB/InternalAct/ReplyMessage];
    

Étapes suivantes

Cela conclut le didacticiel. Les didacticiels sont uniquement des vues d'ensemble. Ils ne décrivent pas toutes les options disponibles. Les didacticiels utilisent une logique et une gestion des erreurs simplifiées et ne devraient pas être utilisés dans un environnement de production.Pour créer des conversations efficaces, fiables et solides, vous avez besoin d'un code plus complexe que celui qui figure dans l'exemple de ce didacticiel.

Revenir aux didacticiels de Service Broker

Didacticiels de Service Broker