Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
Les applications Service Broker sont constituées d’un ou de plusieurs programmes, et d’objets de bases de données utilisés par ces programmes. Les applications communiquent en créant des conversations entre les composants indépendants appelés services, puis en échangeant les messages au sein de ces conversations. Les applications utilisent Service Broker en exécutant des instructions Transact-SQL dans une base de données SQL Server.
Composants d’application
Une application Service Broker est constituée de :
Un ou plusieurs programmes qui implémentent une tâche ou un ensemble de tâches associé. En dehors de SQL Server, les applications peuvent être écrites dans n’importe quel environnement de programmation capable d’exécuter des instructions Transact-SQL dans SQL Server. À l’intérieur de SQL Server, les applications peuvent être écrites comme des procédures stockées en utilisant Transact-SQL ou un langage CLR (Common Language Runtime).
Un service qui expose les tâches à d'autres services. Un service est un objet Service Broker qui fournit un nom adressable pour un ensemble de tâches associé. D'autres services démarrent les conversations avec ce service pour exécuter les tâches.
Un contrat et les types de message qui définissent la structure et la direction des messages utilisés dans les communications entre les services.
Une file d'attente pour contenir les messages du service.
Le cas échéant, les itinéraires et les liaisons de service distant. Les itinéraires associent une adresse réseau au nom d'un service distant. Les liaisons de service distant associent un nom de service à un principal de la base de données locale. Service Broker utilise le certificat associé au principal spécifié pour traiter l’autorisation du service distant et le chiffrement des messages échangés avec le service distant. Service Broker permet de configurer les routes et les liaisons de service distant pendant le déploiement de l’application sans changer l’application. Cela permet aux administrateurs de déplacer les services et de modifier les informations d'identification de sécurité sans apporter de modifications au code de l'application. Pour plus d’informations sur la configuration des routes et des liaisons de service distant, consultez Administration (Service Broker).
DML Service Broker
Généralement, une application configure les objets de définition du service au moment de l'installation. Pendant son exécution, l’application envoie et reçoit des messages en utilisant le langage de manipulation de données (DML) Service Broker. Les instructions DML se répartissent en trois grandes catégories – messages, conversations et groupes de conversations :
Messages
Service Broker fournit les opérations suivantes pour prendre en charge l’utilisation de messages :
L’instruction
SENDenvoie un message sur une conversation spécifique.L’instruction
RECEIVEreçoit un ou plusieurs messages d’une file d’attente. Tous les messages reçus appartiennent au même groupe de conversations.
Conversations
Service Broker fournit les opérations suivantes pour prendre en charge l’utilisation de conversations :
L’instruction
BEGIN DIALOG CONVERSATIONcommence une conversation entre deux services. Comme la conversation implique la présence de deux services exactement, la conversation constitue un dialogue.L'instruction
END CONVERSATIONmet fin à un côté d'une conversation.L’instruction
BEGIN CONVERSATION TIMERremet un message du minuteur de dialogue à un côté d’une conversation à un moment spécifique.L’instruction
GET_TRANSMISSION_STATUSretourne une description de la dernière erreur de transmission pour une conversation. Si la dernière tentative de transmission d'un message pour la conversation a réussi, l'instruction ne fournit pas de description.
Groupes de conversation
Service Broker fournit deux opérations pour utiliser les groupes de conversations :
L'instruction
GET CONVERSATION GROUPretourne l'identificateur du groupe de conversation pour le prochain message recevable dans la file d'attente. L'instruction verrouille également le groupe de conversations.L’instruction
MOVE CONVERSATIONdéplace une conversation d’un groupe de conversation vers une autre. L'instruction verrouille à la fois le groupe de conversations d'origine et le groupe de conversations de destination.
Contenu connexe
- 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)
- Contrats
- Conversations de boîte de dialogue
- Groupes de conversation
- Types de messages
- Messages
- Files d’attente
- Services
- Créer des applications avec Service Broker
- Liaisons de service distant
- Itinéraires