Share via


Lektion 1: Erstellen der Konversationsobjekte

Neu: 15. September 2007

In dieser Lektion lernen Sie, alle Objekte zu erstellen, mit denen eine Datenbank eine Konversation in der Datenbank unterstützen kann.

Vorgehensweisen

Aktivieren von Service Broker und Wechseln zur AdventureWorks-Datenbank

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn anschließend aus, um sicherzustellen, dass Service Broker in der AdventureWorks-Datenbank aktiviert ist. Wechseln Sie dann den Kontext zur Datenbank.

    USE master;
    GO
    ALTER DATABASE AdventureWorks
          SET ENABLE_BROKER;
    GO
    USE AdventureWorks;
    GO
    

Erstellen der Nachrichtentypen

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn dann aus, um die Nachrichtentypen für die Konversation zu erstellen. Da Service Broker-Objekte oft über mehrere Instanzen von Datenbankmodul referenziert werden, erhalten die meisten Service Broker-Objekte Namen im URI-Format. Damit wird sichergestellt, dass sie auf allen Computern eindeutig sind. Bei beiden Nachrichtentypen wird von Service Broker nur geprüft, ob die Nachrichten korrekt aufgebaute XML-Nachrichten sind. Der XML-Code wird nicht auf ein bestimmtes Schema hin überprüft.

    CREATE MESSAGE TYPE
           [//AWDB/1DBSample/RequestMessage]
           VALIDATION = WELL_FORMED_XML;
    CREATE MESSAGE TYPE
           [//AWDB/1DBSample/ReplyMessage]
           VALIDATION = WELL_FORMED_XML;
    GO
    

Erstellen des Vertrags

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn dann aus, um den Vertrag für die Konversation zu erstellen. Der Vertrag gibt an, dass Konversationen Nachrichten des Typs //AWDB/1DBSample/RequestMessage vom Initiator zum Ziel und Nachrichten des Typs //AWDB/1DBSample/ReplyMessage vom Ziel zum Initiator senden müssen.

    CREATE CONTRACT [//AWDB/1DBSample/SampleContract]
          ([//AWDB/1DBSample/RequestMessage]
           SENT BY INITIATOR,
           [//AWDB/1DBSample/ReplyMessage]
           SENT BY TARGET
          );
    GO
    

Erstellen von Zielwarteschlange und -dienst

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn dann aus, um die Warteschlange und den Dienst zu erstellen, die für das Ziel verwendet werden. Da Warteschlangen aus derselben Datenbank auf ähnliche Weise wie Tabellen und Ansichten referenziert werden, werden die Namen von Warteschlangen wie Tabellen- oder Ansichtsnamen formatiert. Die CREATE SERVICE-Anweisung verknüpft den Dienst mit TargetQueue2DB. Deshalb werden alle Nachrichten, die an den Dienst gesendet werden, in TargetQueue2DB empfangen. Die CREATE SERVICE-Anweisung gibt außerdem an, dass nur Konversationen, welche den zuvor erstellten //AWDB/1DBSample/SampleContract verwenden, den Dienst als Zieldienst verwenden können.

    CREATE QUEUE TargetQueue1DB;
    
    CREATE SERVICE
           [//AWDB/1DBSample/TargetService]
           ON QUEUE TargetQueue1DB
           ([//AWDB/1DBSample/SampleContract]);
    GO
    

Erstellen von Initiatorwarteschlange und -dienst

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn dann aus, um die Warteschlange und den Dienst zu erstellen, die für den Initiator verwendet werden. Da kein Vertragsname angegeben ist, können keine anderen Dienste diesen Dienst als Zieldienst verwenden.

    CREATE QUEUE InitiatorQueue1DB;
    
    CREATE SERVICE
           [//AWDB/1DBSample/InitiatorService]
           ON QUEUE InitiatorQueue1DB;
    GO
    

Nächste Schritte

Sie haben AdventureWorks erfolgreich konfiguriert, um eine Konversation zwischen dem //AWDB/1DBSample/InitiatorService und dem //AWDB/1DBSample/TargetService zu ermöglichen. Danach führen Sie mit der Konfiguration eine Konversation durch. Siehe Lektion 2: Starten einer Konversation und Senden von Nachrichten.

Siehe auch

Andere Ressourcen

ALTER DATABASE (Transact-SQL)
CREATE MESSAGE TYPE (Transact-SQL)
CREATE CONTRACT (Transact-SQL)
CREATE QUEUE (Transact-SQL)
CREATE SERVICE (Transact-SQL)
Konversationsarchitektur
Dienstarchitektur

Hilfe und Informationen

Informationsquellen für SQL Server 2005