Compartir a través de


Lección 1: Crear los objetos de conversación

Nuevo: 15 de septiembre de 2007

En esta lección, aprenderá a generar todos los objetos que permiten que una base de datos admita una conversación en la base de datos.

Procedimientos

Habilitar Service Broker y cambiar a la base de datos de AdventureWorks

  1. Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para asegurarse de que Service Broker está habilitado en la base de datos de AdventureWorks, y cambie el contexto a la base de datos.

    USE master;
    GO
    ALTER DATABASE AdventureWorks
          SET ENABLE_BROKER;
    GO
    USE AdventureWorks;
    GO
    

Crear los tipos de mensaje

  1. Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para crear los tipos de mensaje para la conversación. Dado que a menudo se hace referencia a los objetos de Service Broker en varias instancias de Database Engine (Motor de base de datos), la mayoría de los nombres de los objetos de Service Broker tienen un formato URI. Esto ayuda a garantizar que son únicos en varios equipos. Estos dos tipos de mensaje especifican que Service Broker valide únicamente que los mensajes son documentos XML correctos y que no valide el XML con un esquema concreto.

    CREATE MESSAGE TYPE
           [//AWDB/1DBSample/RequestMessage]
           VALIDATION = WELL_FORMED_XML;
    CREATE MESSAGE TYPE
           [//AWDB/1DBSample/ReplyMessage]
           VALIDATION = WELL_FORMED_XML;
    GO
    

Crear el contrato

  1. Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para crear el contrato para la conversación. El contrato especifica que las conversaciones que lo utilizan deben enviar mensajes del tipo //AWDB/1DBSample/RequestMessage desde el iniciador hasta el destino, y mensajes del tipo //AWDB/1DBSample/ReplyMessage desde el destino hasta el iniciador.

    CREATE CONTRACT [//AWDB/1DBSample/SampleContract]
          ([//AWDB/1DBSample/RequestMessage]
           SENT BY INITIATOR,
           [//AWDB/1DBSample/ReplyMessage]
           SENT BY TARGET
          );
    GO
    

Crear el servicio y la cola de destino

  1. Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para crear la cola y el servicio que se utilizan para el destino. Dado que se hace referencia a las colas de la misma base de datos de una manera similar a las tablas y vistas, se da formato a los nombres de la cola como a los nombres de vista o tabla. La instrucción CREATE SERVICE asocia el servicio a TargetQueue2DB. Por consiguiente, todos los mensajes que se envían al servicio se recibirán en TargetQueue2DB. CREATE SERVICE especifica también que sólo las conversaciones que utilizan la ruta //AWDB/1DBSample/SampleContract creada anteriormente, pueden utilizar el servicio como un servicio de destino.

    CREATE QUEUE TargetQueue1DB;
    
    CREATE SERVICE
           [//AWDB/1DBSample/TargetService]
           ON QUEUE TargetQueue1DB
           ([//AWDB/1DBSample/SampleContract]);
    GO
    

Crear el servicio y la cola de iniciador

  1. Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para crear la cola y el servicio que se utilizan para el iniciador. Dado que no se especifica un nombre de contrato, ningún otro servicio puede utilizar este servicio como un servicio de destino.

    CREATE QUEUE InitiatorQueue1DB;
    
    CREATE SERVICE
           [//AWDB/1DBSample/InitiatorService]
           ON QUEUE InitiatorQueue1DB;
    GO
    

Pasos siguientes

Ha configurado correctamente AdventureWorks para una conversación entre //AWDB/1DBSample/InitiatorService y //AWDB/1DBSample/TargetService. A continuación, finalizará una conversación mediante la configuración. Vea Lección 2: Comenzar una conversación y transmitir los mensajes.

Vea también

Otros recursos

ALTER DATABASE (Transact-SQL)
CREATE MESSAGE TYPE (Transact-SQL)
CREATE CONTRACT (Transact-SQL)
CREATE QUEUE (Transact-SQL)
CREATE SERVICE (Transact-SQL)
Arquitectura de la conversación
Arquitectura de servicio

Ayuda e información

Obtener ayuda sobre SQL Server 2005