Compartir a través de


Lección 4: quitar los objetos de conversación

En esta lección aprenderá a quitar los objetos que permiten a una base de datos admitir una conversación mediante un procedimiento almacenado de activación interna.

Procedimientos

Cambiar a la base de datos AdventureWorks2008R2

  • Copie y pegue el código siguiente en una ventana del Editor de consultas. Después, ejecútelo para cambiar el contexto a la base de datos AdventureWorks2008R2.

    USE AdventureWorks2008R2;
    GO
    

Quitar los objetos de conversación

  • Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para quitar los objetos que se usaron para admitir la conversación.

    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];
    

Pasos siguientes

Esto concluye el tutorial. Los tutoriales únicamente contienen información general. No describen todas las opciones disponibles. Los tutoriales usan una lógica simplificada y un control de errores y no se deberían usar en un entorno de producción.Para crear conversaciones eficaces, confiables y consistentes, se necesita un código más complejo que el ejemplo de este tutorial.

Volver a los tutoriales de Service Broker

Tutoriales de Service Broker