Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Las aplicaciones de Service Broker se componen de uno o más programas y de los objetos de base de datos que dichos programas usan. Las aplicaciones se comunican creando conversaciones entre componentes independientes denominados servicios e intercambiando a continuación mensajes dentro de dichas conversaciones. Las aplicaciones usan Service Broker ejecutando instrucciones Transact-SQL en una base de datos de SQL Server.
Componentes de la aplicación
Una aplicación de Service Broker se compone de:
Uno o más programas que implementan una tarea o un conjunto relacionado de tareas. Fuera de SQL Server, las aplicaciones se pueden escribir en cualquier entorno de programación que puede ejecutar instrucciones Transact-SQL en SQL Server. Dentro de SQL Server, las aplicaciones se pueden escribir como procedimientos almacenados mediante Transact-SQL o un lenguaje compatible con Common Language Runtime (CLR).
Un servicio que expone las tareas a otros servicios. Un servicio es un objeto de Service Broker que proporciona un nombre direccionable para un conjunto de tareas relacionadas. Otros servicios inician conversaciones con este servicio para realizar las tareas.
Un contrato y tipos de mensaje que definen la estructura y la dirección de los mensajes que se usan en las comunicaciones entre los servicios.
Una cola para contener los mensajes para el servicio.
Opcionalmente, las rutas y los enlaces de servicio remoto. Las rutas asocian una dirección de red al nombre de un servicio remoto. Los enlaces de servicio remoto asocian un nombre de servicio a una entidad de seguridad de base de datos local. Service Broker usa el certificado asociado a la entidad de seguridad especificada para controlar la autorización para el servicio remoto y el cifrado de los mensajes intercambiados con el servicio remoto. Service Broker permite configurar las rutas y los enlaces de servicio remoto que se van a configurar mientras la aplicación está en implementación sin requerir cambios a la aplicación. Esto permite a los administradores mover los servicios y cambiar las credenciales de seguridad sin realizar cambios en el código de la aplicación. Para obtener más información sobre cómo configurar rutas y enlaces de servicio remoto, vea Administración (Service Broker).
DML de Service Broker
Una aplicación suele preparar los objetos de definición de servicio en el momento de la instalación. Mientras se ejecuta, la aplicación envía y recibe mensajes mediante el lenguaje de manipulación de datos (DML) de Service Broker. Las instrucciones DML pertenecen a tres amplias categorías: mensajes, conversaciones y grupos de conversación:
error de Hadoop
Service Broker proporciona las operaciones siguientes para admitir el trabajo con los mensajes:
La
SENDinstrucción envía un mensaje en una conversación específica.La
RECEIVEinstrucción recibe uno o varios mensajes de una cola. Todos los mensajes recibidos pertenecen al mismo grupo de conversación.
Conversaciones
Service Broker proporciona las operaciones siguientes para admitir el trabajo con las conversaciones:
La
BEGIN DIALOG CONVERSATIONinstrucción inicia una conversación entre dos servicios. Dado que la conversación implica exactamente dos servicios, la conversación es un diálogo.La
END CONVERSATIONinstrucción finaliza un lado de una conversación.La
BEGIN CONVERSATION TIMERinstrucción entrega un mensaje del temporizador de diálogo a un participante de una conversación en un momento específico.La
GET_TRANSMISSION_STATUSinstrucción devuelve una descripción del último error de transmisión en una conversación. Si el último intento de transmitir un mensaje para la conversación se realizó correctamente, la instrucción no devuelve una descripción.
Grupos de conversaciones
Service Broker proporciona dos operaciones por trabajar con grupos de conversación:
La
GET CONVERSATION GROUPinstrucción devuelve el identificador del grupo de conversación para el próximo mensaje que se pueda recibir en una cola. La instrucción también bloquea el grupo de conversación.La
MOVE CONVERSATIONinstrucción mueve una conversación de un grupo de conversación a otro. La instrucción bloquea el grupo de conversación original y el grupo de conversación de destino.
Contenido relacionado
- BEGIN CONVERSATION TIMER (Transact-SQL)
- BEGIN DIALOG CONVERSATION (Transact-SQL)
- MOVE CONVERSATION (Transact-SQL)
- GET CONVERSATION GROUP (Transact-SQL)
- SEND (Transact-SQL)
- END CONVERSATION (Transact-SQL)
- GET_TRANSMISSION_STATUS (Transact-SQL)
- RECEIVE (Transact-SQL)
- Contratos
- Conversaciones de diálogo
- Grupos de conversaciones
- Tipos de mensajes
- Mensajes
- Colas
- Servicios
- Compilación de aplicaciones con Service Broker
- Enlaces de servicio remoto
- Rutas