Implementar la activación interna
Este tutorial está destinado a usuarios que no tienen experiencia en Service Broker pero que conocen los conceptos de base de datos y las instrucciones de Transact-SQL. Les servirá de introducción al mostrarles cómo implementar un procedimiento almacenado de activación interna para procesar los mensajes de Service Broker.
Aprendizaje
Este tutorial le mostrará cómo crear los objetos de base de datos necesarios para admitir una conversación de solicitud y respuesta de Service Broker sencilla mediante un procedimiento almacenado de activación interna. Después, iniciará una conversación y la usará para transmitir mensajes.
Cada conversación de Service Broker tiene dos extremos: el iniciador y el destino de la conversación. En una conversación de solicitud y respuesta, el iniciador envía un mensaje de solicitud al destino y este devuelve un mensaje de respuesta. La activación interna de Service Broker se puede utilizar para ejecutar un procedimiento almacenado cada vez que haya mensajes pendientes de procesar. Service Broker puede ejecutar varias copias del procedimiento almacenado si se están transmitiendo muchos mensajes. En este tutorial se muestra cómo crear un procedimiento almacenado que reciba los mensajes de solicitud en el destino y cómo configurar el destino para que utilice la activación interna para ejecutar el procedimiento almacenado.
Realizará las tareas siguientes:
Crear un servicio y una cola para el destino, y un servicio y una cola para el iniciador.
Crear un tipo de mensaje de solicitud y un tipo de mensaje de respuesta.
Crear un contrato que especifique que los mensajes de solicitud van del iniciador al destino, y que los mensajes de respuesta van del destino al iniciador.
Crear un procedimiento almacenado que reciba los mensajes de solicitud de la cola de destino y envíe los mensajes de respuesta al iniciador.
Modificar la cola de destino para habilitar la activación interna del procedimiento almacenado.
A continuación, llevará a cabo una conversación simple:
Iniciar la conversación.
Enviar una solicitud del iniciador al destino.
Service Broker activará el procedimiento almacenado. El procedimiento almacenado recibirá la solicitud en el destino y enviará una respuesta al iniciador.
Recibir la respuesta en el iniciador.
Finalizar la conversación en el lado del iniciador.
A continuación, Service Broker activará el procedimiento almacenado por segunda vez y el procedimiento almacenado finalizará la conversación en el lado de destino.
Los mensajes no se transmiten a través de la red en las conversaciones que tienen ambos extremos en la misma instancia de Database Engine (Motor de base de datos). La seguridad y los permisos de Database Engine (Motor de base de datos) restringen el acceso a las entidades de seguridad autorizadas. El cifrado de red no es necesario en este escenario.
El tutorial está formado por cuatro lecciones:
Lección 1: crear los objetos de conversación básicos
En esta lección, se crean los tipos de mensaje, el contrato, los servicios y las colas necesarios para admitir una conversación de Service Broker básica.Lección 2: crear un procedimiento de activación interna
En esta lección, se crea el procedimiento almacenado que recibirá los mensajes de la cola de destino y, a continuación, se modifica la cola de destino para especificar la activación interna.Lección 3: comenzar una conversación y transmitir mensajes
En esta lección, se completa una conversación básica iniciándola y transmitiendo un mensaje de solicitud del iniciador al destino. El procedimiento almacenado de activación interna recibirá el mensaje de solicitud y devolverá un mensaje de respuesta. A continuación, se finalizará la conversación en el lado del iniciador, y el procedimiento almacenado la finalizará en el lado de destino.Lección 4: quitar los objetos de conversación
En esta lección se quitan los objetos que se crearon para admitir la conversación.
Requisitos
Para completar este tutorial, debe conocer el lenguaje Transact-SQL y saber cómo usar el Editor de consultas de Database Engine (Motor de base de datos) en SQL Server Management Studio. Debe ser miembro de las funciones de base de datos fijas db_ddladmin o db_owner para la base de datos de ejemplo AdventureWorks, o ser miembro de la función fija de servidor sysadmin.
El sistema debe tener instalado lo siguiente:
Una edición de SQL Server 2005 o de SQL Server 2008.
SQL Server Management Studio o Management Studio Express.
Internet Explorer versión 6 o posterior.
La base de datos de ejemplo AdventureWorks. Para obtener más información sobre cómo instalar las bases de datos de ejemplo, vea Consideraciones para instalar ejemplos y bases de datos de ejemplo de SQL Server.
[!NOTA]
Para consultar los tutoriales, se recomienda agregar los botones Siguiente y Anterior a la barra de herramientas del visor de documentos. Para obtener más información, vea Agregar los botones Siguiente y Anterior a la Ayuda.