Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Det här Transact-SQL kodexemplet definierar en tjänst som arkiverar otypade XML-dokument. Två skript ingår: kontraktskriptet och tjänstdefinitionsskriptet. Kontraktskriptet definierar meddelandetyperna och kontraktet för tjänsten. Definitionen av meddelandetyp och kontraktsdefinitionen ska matcha både för den initierande tjänsten och måltjänsten. Definitionerna ingår därför i ett separat tjänstdefinitionsskript som kan distribueras till de databaser som är värdar för den initierande tjänsten. Skriptet för tjänstdefinition definierar själva tjänsten. Det här skriptet ska endast köras i en databas som implementerar måltjänsten.
Notera
Skriptet för tjänstdefinition definierar måltjänsten, men innehåller ingen implementering av tjänsten.
Kontraktskript
Notera
Kodexemplen i den här artikeln har testats med hjälp av AdventureWorks2025 exempeldatabas som du kan ladda ned från Microsoft SQL Server-exempel och Community Projects startsida.
-- 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
Skript för tjänstdefinition
-- 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