Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server
Istanza gestita di SQL di Azure
In questa lezione verranno descritte le procedure per avviare una conversazione tra due istanze di Motore di database e per inviare un messaggio di richiesta dall'istanza dell'initiator all'istanza di destinazione. Eseguire questi passaggi da una copia di Management Studio in esecuzione nello stesso computer come istanza dell'initiator.
Procedure
Passare al database InitiatorDB
Copiare il seguente codice e incollarlo nella finestra dell'Editor di query. Eseguire quindi il codice per cambiare contesto passando al database InstInitiatorDB in cui si avvierà la conversazione.
USE InstInitiatorDB; GO
Avviare una conversazione e inviare un messaggio di richiesta
Copiare il seguente codice e incollarlo nella finestra dell'Editor di query. Eseguire quindi il codice per avviare una conversazione e inviare un messaggio di richiesta a //TgtDB/2InstSample/TargetService in InstTargetDB. Il codice deve essere eseguito in un blocco, perché viene usata una variabile per cambiare l'handle di dialogo dall'istruzione BEGIN DIALOG a SEND. Il batch esegue l'istruzione BEGIN DIALOG per avviare la conversazione e quindi crea un messaggio di richiesta. Usa quindi l'handle di dialogo in un'istruzione SEND per inviare il messaggio di richiesta nella conversazione. L'ultima istruzione SELECT mostra soltanto il testo del messaggio inviato.
DECLARE @InitDlgHandle UNIQUEIDENTIFIER; DECLARE @RequestMsg NVARCHAR(100); BEGIN TRANSACTION; BEGIN DIALOG @InitDlgHandle FROM SERVICE [//InstDB/2InstSample/InitiatorService] TO SERVICE N'//TgtDB/2InstSample/TargetService' ON CONTRACT [//BothDB/2InstSample/SimpleContract] WITH ENCRYPTION = ON; SELECT @RequestMsg = N'<RequestMsg>Message for Target service.</RequestMsg>'; SEND ON CONVERSATION @InitDlgHandle MESSAGE TYPE [//BothDB/2InstSample/RequestMessage] (@RequestMsg); SELECT @RequestMsg AS SentRequestMsg; COMMIT TRANSACTION; GO
Passaggi successivi
È stata avviata una conversazione e inviato il messaggio di richiesta al servizio di destinazione. Quindi, si riceverà il messaggio di richiesta dalla coda di destinazione e si invierà un messaggio di risposta al servizio dell'iniziatore. Per altre informazioni, vedere Lezione 5: Ricezione di una richiesta e invio di una risposta.