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
Cet exemple de code Transact-SQL définit un service qui archive des documents XML non typés. Deux scripts sont inclus : le script de contrat et le script de définition de service. Le script de contrat définit les types de messages et le contrat du service. La définition de type de message et la définition de contrat doivent correspondre à la fois pour le service de lancement et le service cible. Par conséquent, les définitions sont incluses dans un script de définition de service distinct qui peut être distribué aux bases de données qui hébergent le service de lancement. Le script de définition de service définit le service lui-même. Ce script doit être exécuté uniquement dans une base de données qui implémente le service cible.
Note
Le script de définition de service définit le service cible, mais n’inclut pas d’implémentation du service.
Script de contrat
Note
Les exemples de code de cet article ont été testés à l’aide de l’exemple de base de données AdventureWorks2025, que vous pouvez télécharger à partir de la Microsoft SQL Server Samples and Community Projects page d’accueil.
-- The contract script contains definitions that must be present
-- for both the initiating service and the target service.
USE AdventureWorks2008R2;
GO
-- Create messages for each broker-to-broker
-- communication needed to complete the task.
-- Message for the initiator to send XML
-- to be archived.
CREATE MESSAGE TYPE [//Adventure-Works.com/messages/ArchiveXML]
VALIDATION = WELL_FORMED_XML;
GO
-- Message to return event archiving information.
CREATE MESSAGE TYPE [//Adventure-Works.com/messages/AcknowledgeArchiveXML]
VALIDATION = WELL_FORMED_XML;
GO
-- Create a service contract to structure
-- an event archiving conversation, using
-- the message types defined above.
CREATE CONTRACT [//Adventure-Works.com/contracts/ArchiveXML/v1.0]
([//Adventure-Works.com/messages/ArchiveXML] SENT BY INITIATOR,
[//Adventure-Works.com/messages/AcknowledgeArchiveXML] SENT BY TARGET);
GO
Script de définition de service
-- This script defines the target service. The objects created
-- by this script are only required in a database that hosts
-- the target service.
USE AdventureWorks2008R2;
GO
-- Create the service queue that will receive
-- messages for conversations that implement
-- the ArchiveXML contract.
CREATE QUEUE ArchiveQueue;
GO
-- Create the service object that exposes the
-- ArchiveEvents service contract and maps
-- it to the ArchiveQueue service queue.
CREATE SERVICE [//Adventure-Works.com/ArchiveService]
ON QUEUE ArchiveQueue
([//Adventure-Works.com/contracts/ArchiveXML/v1.0]);
GO