Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Este exemplo de código Transact-SQL define um serviço que arquiva documentos XML não tipados. Dois scripts estão incluídos: o script de contrato e o script de definição de serviço. O script de contrato define os tipos de mensagem e o contrato para o serviço. A definição de tipo de mensagem e a definição de contrato devem corresponder tanto para o serviço inicial quanto para o serviço de destino. Portanto, as definições são incluídas em um script de definição de serviço separado que pode ser distribuído para os bancos de dados que hospedam o serviço inicial. O script de definição de serviço define o próprio serviço. Esse script deve ser executado somente em um banco de dados que implementa o serviço de destino.
Observação
O script de definição de serviço define o serviço de destino, mas não inclui uma implementação do serviço.
Script de contrato
Observação
Os exemplos de código neste artigo foram testados usando o banco de dados de exemplo AdventureWorks2025, que você pode baixar da página principal do Microsoft SQL Server Samples and Community Projects .
-- 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 definição de serviço
-- 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