Readme_ServiceBrokerConfiguration
Aktualisiert: 05. Dezember 2005
In diesem Beispiel wird das Erstellen von Service Broker-Objekten mithilfe von SMO (SQL Server Management Objects) veranschaulicht. Das Beispiel wurde implementiert, da zum Erstellen von Service Broker-Objekten mehrere Windows-Benutzersteuerelemente und -Klassen erforderlich sind.
Das Beispiel richtet sich an Microsoft .NET Framework-Entwickler, die die Verwendung von Service Broker SMO erlernen möchten und wissen möchten, wie Windows-Benutzersteuerelemente zum Verwalten von SQL Server 2005-Objekten erstellt werden. Das Kernszenario ist ein Microsoft .NET Framework-Entwickler, der eine benutzerdefinierte Service Broker-Verwaltungsanwendung erstellt.
Die Beispiele dienen nur zu Lernzwecken. Sie sind nicht für den Einsatz in einer Produktionsumgebung gedacht und wurden auch nicht in einer Produktionsumgebung getestet. Microsoft leistet keinen technischen Support für diese Beispiele. Beispielanwendungen und Assemblys sollten nicht ohne die Zustimmung des Systemadministrators mit der SQL Server-Datenbank oder dem Berichtsserver verbunden sein oder verwendet werden.
Anforderungen
Für dieses Beispiel müssen die folgenden Komponenten installiert sein.
- .NET Framework SDK 2.0. Das .NET Framework SDK ist kostenlos erhältlich. Weitere Informationen finden Sie unter Installieren des .NET Framework SDK.
- SQL Server 2005-Datenbankmodul.
Speicherort
Wenn das Codebeispiel am Standardspeicherort installiert wurde, ist das Beispiel in folgendem Verzeichnis gespeichert:
C:\Programme\Microsoft SQL Server\90\Samples\Engine\Programmability\SMO\ ServiceBrokerConfiguration
Die C#-Lösung für das Codebeispiel befindet sich im CS-Verzeichnis.
Erstellen des Beispiels
Generieren Sie die Schlüsseldatei mithilfe der folgenden Anweisungen, falls Sie noch keine Schlüsseldatei mit starkem Namen erstellt haben.
So generieren Sie eine Schlüsseldatei mit starkem Namen
Öffnen Sie eine Microsoft Visual Studio 2005-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und danach auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.
– oder –
Öffnen Sie eine Microsoft .NET Framework-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und dann auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.
Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) im Eingabeaufforderungsfenster vom aktuellen Verzeichnis zu dem Ordner, in dem die Beispiele installiert sind.
Hinweis: Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server und auf Dokumentation und Lernprogramme, und klicken Sie dann auf Beispielordner, um den Ordner zu ermitteln, in dem sich die Beispiele befinden. Wenn das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Verzeichnis <Systemlaufwerk>:\Programme\Microsoft SQL Server\100\Samples. Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus:
sn -k SampleKey.snk
Wichtig: Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter ".NET-Entwicklung" auf der MSDN-Website.
Erstellen der Visual Studio-Projektmappe
Klicken Sie auf Start, zeigen Sie auf Alle Programme und dann auf Microsoft .NET Framework SDK v2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.
Suchen Sie den Stammordner des Beispiels. Geben Sie den folgenden Befehl für den Standardspeicherort ein:
[C#]
cd \Program Files\Microsoft SQL Server\90\``\Samples\Engine\Programmability\SMO\ServiceBrokerConfiguration\CS\
- Geben Sie Folgendes ein, um die Visual Studio-Projektmappe zu erstellen:
msbuild
Oder führen Sie die folgenden Schritte aus, falls Sie Visual Studio 2005 verwenden:
- Öffnen Sie die Projektmappendatei \CS\ConfigurationComponent.sln.
- Drücken Sie F6, um die Projektmappe zu erstellen.
Richten Sie die SQL Server-Beispieldatenbank und die XML-Beispielschemas ein.
Suchen Sie den Ordner \CS\Script.
Öffnen Sie in SQL Server Management Studio das Skript setup.sql, und führen Sie es aus.
Legen Sie SQL Server-Hauptschlüssel fest (optional)
Falls Sie eine Remotedienstbindung einrichten:
Suchen Sie den Ordner \CS\Script.
Öffnen Sie in SQL Server Management Studio das Skript masterkey.sql.
Geben Sie in die CREATE MASTER KEY ENCRYPTION BY PASSWORD =-Anweisung ein Kennwort für den master-Datenbankschlüssel ein.
Geben Sie in die CREATE MASTER KEY ENCRYPTION BY PASSWORD =-Anweisung ein Kennwort für den ssb_ConfigurationSample-Datenbankschlüssel ein.
Führen Sie masterkey.sql aus.
Ausführen des Beispiels
So führen Sie das Beispiel aus
- Der Standardspeicherort für die C#-Version ist C:\Programme\Microsoft SQL Server\90\Samples\SMO\ServiceBrokerConfiguration\CS\SampleApplication\bin\Debug\SampleApplication.exe.
So stellen Sie die Verbindung zu einer lokalen SQL Server-Instanz her
Geben Sie einen Servernamen in das Feld Servername ein, oder übernehmen Sie den (lokalen) Standardservernamen.
Klicken Sie auf Verbinden.
So konfigurieren Sie das Beispiel für eine neue Datenbank.
Klicken Sie auf der Registerkarte Objects auf Options.
Geben Sie einen Skriptpfad ein, oder übernehmen Sie den Standardpfad. Der Skriptpfad wird zum Exportieren eines Skripts in eine Datei verwendet.
Klicken Sie auf Create. Durch Klicken auf die Schaltfläche Create wird das Beispiel konfiguriert und BaseUrn festgelegt.
So erstellen Sie Nachrichtentypen
Klicken Sie auf New und dann auf MessageType.
Geben Sie ShippingRequest als Nachrichtentypnamen ein.
Klicken Sie auf Create, um den neuen Nachrichtentyp zu erstellen, klicken Sie auf New, und klicken Sie dann auf Message Type.
Geben Sie ShippingAccept als Nachrichtentypnamen ein.
Klicken Sie auf Create, um den neuen Nachrichtentyp zu erstellen, klicken Sie auf New, und klicken Sie dann auf Message Type.
Geben Sie ShippingComplete als Nachrichtentypnamen ein.
Klicken Sie auf Create, um den neuen Nachrichtentyp zu erstellen.
So erstellen Sie einen Vertrag
Klicken Sie auf New und dann auf Contract.
Wählen Sie das Dropdownmenü MessageTypeMappings aus.
Wählen Sie alle oben erstellten Nachrichtentypen (MessageTypes) aus.
Wählen Sie Target für ShippingAccept und ShippingComplete MessageSource aus.
Schließen Sie das Dropdownmenü MessageTypeMappings.
Geben Sie Shipping als Vertragsnamen ein.
Klicken Sie auf Create, um einen neuen Vertrag zu erstellen.
So erstellen Sie Warteschlangen
Klicken Sie auf New und dann auf Queue.
Geben Sie ClientQueue als Warteschlangennamen ein.
Klicken Sie auf Create, um die neue Warteschlange zu erstellen, klicken Sie auf New, und klicken Sie dann auf Queue.
Geben Sie ServerQueue als Warteschlangennamen ein.
Klicken Sie auf Create, um die neue Warteschlange zu erstellen.
So erstellen Sie Dienste, ohne dass die Remotedienstbindung aktiviert ist
Klicken Sie auf New und dann auf Service.
Geben Sie ClientService als Dienstnamen ein.
Wählen Sie das Dropdownmenü ContractNames aus, und wählen Sie dann den Vertrag Shipping aus.
Wählen Sie das Dropdownmenü QueueName aus, und wählen Sie dann die Warteschlange ClientQueue aus.
Geben Sie für ServiceOwnerName einen Namen ein bzw. wählen Sie einen Namen aus.
Klicken Sie zum Erstellen des neuen Dienstes auf Create und dann auf New.
Geben Sie ServerService als Dienstnamen ein.
Wählen Sie das Dropdownmenü ContractNames aus, und wählen Sie dann den Vertrag Shipping aus.
Wählen Sie das Dropdownmenü QueueName aus, und wählen Sie dann die Warteschlange ServerQueue aus.
Geben Sie für ServiceOwnerName einen Namen ein bzw. wählen Sie einen Namen aus.
Klicken Sie auf Create, um den neuen Dienst zu erstellen.
So erstellen Sie Dienste mit aktivierter Remotedienstbindung
Klicken Sie auf New und dann auf Service.
Geben Sie RemoteService als Dienstnamen ein.
Wählen Sie im Dropdownmenü ContractNames den Vertrag Shipping aus.
Legen Sie EnableRemoteService auf True fest.
Wählen Sie im Dropdownmenü QueueName die Warteschlange ClientQueue aus.
Geben Sie für ServiceOwnerName einen Namen ein bzw. wählen Sie einen Namen aus.
Klicken Sie auf Create, um den neuen Dienst zu erstellen, und klicken Sie dann auf New.
So aktivieren Sie den anonymen Zugriff für einen Remotedienst
Wählen Sie RemoteService within the object tree aus.
Legen Sie AllowAnonymous auf True fest.
Klicken Sie auf Alter, um den Dienst zu ändern.
So erstellen Sie einen Zielendpunkt für die Instanz
Klicken Sie auf New und dann auf Target Instance Endpoint.
Geben Sie einen Namen ein, oder übernehmen Sie den Standardnamen.
Klicken Sie auf Create.
So legen Sie einen Pfad für den Skriptexport fest
Klicken Sie auf die Registerkarte Object, falls diese nicht bereits aktiviert ist.
Klicken Sie auf Options.
Geben Sie einen gültigen Skriptpfad ein.
Klicken Sie auf Create.
So exportieren Sie ein Objekt
Wählen Sie ein Objekt innerhalb der Objektstruktur aus.
Klicken Sie auf Script, und dann auf Export.
Das Objekt wird in den in der Anwendungskonfiguration festgelegten Skriptpfad exportiert.
So exportieren Sie eine Dienstdefinition in eine Datei
Wählen Sie in der Objects-Struktur einen Dienst aus.
Klicken Sie auf Skript und dann auf Export.
Das Dienstskript wird in den in der Anwendungskonfiguration festgelegten Skriptpfad exportiert.
So löschen Sie ein Objekt
Wählen Sie das Objekt in der TreeView aus.
Klicken Sie entweder auf Drop oder Edit, Drop {ObjectName}.
So ändern Sie ein Objekt
Klicken Sie in der Objektstruktur auf das Objekt, das Sie ändern möchten.
Ändern Sie die Eigenschaften dieses Objekts.
Klicken Sie auf Alter, um das Objekt zu ändern.
So fragen Sie Daten ab, mit denen ein Objekt beschrieben wird
Für jedes Objekt können in einem Textfeld und/oder DataGrid Daten ausgegeben werden, mit denen das Objekt beschrieben wird.
Wählen Sie ein Objekt in der TreeView aus.
Klicken Sie auf Abfrage.
Entfernen des Beispiels
So löschen Sie Dienste
Klicken Sie auf den ClientService-Knoten.
Löschen Sie das Objekt.
Klicken Sie auf den ServerService-Knoten.
Löschen Sie das Objekt.
So löschen Sie Warteschlangen
Klicken Sie auf den ClientQueue-Knoten.
Löschen Sie das Objekt.
Klicken Sie auf den ServerQueue-Knoten.
Löschen Sie das Objekt.
So löschen Sie Verträge
Klicken Sie auf den Shipping-Vertragsknoten.
Löschen Sie das Objekt.
So löschen Sie Nachrichtentypen
Klicken Sie auf den ShippingRequest-Nachrichtentypknoten.
Löschen Sie das Objekt.
Klicken Sie auf den ShippingAccept-Nachrichtentypknoten.
Löschen Sie das Objekt.
Klicken Sie auf den ShippingComplete-Nachrichtentypknoten.
Löschen Sie das Objekt.
So löschen Sie einen Zielendpunkt für die Instanz
Klicken Sie auf einen Zielendpunktknoten für die Instanz.
Löschen Sie das Objekt.