Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Dit Transact-SQL codevoorbeeld definieert een service waarmee niet-getypte XML-documenten worden gearchiveerd. Er zijn twee scripts opgenomen: het contractscript en het servicedefinitiescript. Het contractscript definieert de berichttypen en het contract voor de service. De definitie van het berichttype en de contractdefinitie moeten overeenkomen voor zowel de initiërende service als de doelservice. Daarom zijn de definities opgenomen in een afzonderlijk servicedefinitiescript dat kan worden gedistribueerd naar de databases die als host fungeren voor de initiërende service. Het servicedefinitiescript definieert de service zelf. Dit script mag alleen worden uitgevoerd in een database waarmee de doelservice wordt geïmplementeerd.
Notitie
Het servicedefinitiescript definieert de doelservice, maar bevat geen implementatie van de service.
Contractscript
Notitie
De codevoorbeelden in dit artikel zijn getest met behulp van de AdventureWorks2025 voorbeelddatabase, die u kunt downloaden van de Microsoft SQL Server-voorbeelden en communityprojecten startpagina.
-- 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
Servicedefinitiescript
-- 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