Tworzenie usługi (Transact-SQL)
Tworzy nową usługa.A Service Broker usługa jest nazwą dla określonego zadania lub zestaw zadań.Service Brokerużywa nazwy usługa do trasa wiadomości, dostarczania wiadomości do poprawnej kolejki w bazie danych i wykonanie kontrakt do konwersacji.
Składnia
CREATE SERVICE service_name
[ AUTHORIZATION owner_name ]
ON QUEUE [ schema_name. ]queue_name
[ ( contract_name | [DEFAULT][ ,...n ] ) ]
[ ; ]
Argumenty
service_name
Jest nazwą usługa do utworzenia.Nowe usługa utworzonego w bieżącej bazie danych i posiadanych przez głównego zobowiązanego, określonych w klauzulaautoryzacji.Nie można określić nazwy serwera, bazy danych i schematu.service_name Musi być prawidłową sysname.Ostrzeżenie
Nie należy tworzyć wykorzystuje słowo kluczowe usługa istnieją dla service_name.Po określeniu DOWOLNE nazwy usługa w tworzenie BROKER priorytet dla wszystkich usług uznaje się priorytet.Nie jest ograniczony do usługa , którego nazwa jest dowolny.
AUTORYZACJAowner_name
Ustawia właściciel, usługa roli lub użytkownika określonej bazy danych.Jeśli bieżący użytkownik jest dbo lub sa, owner_name może być nazwą prawidłowego użytkownika lub roli.W przeciwnym razie owner_name musi mieć nazwę bieżącego użytkownika, nazwa użytkownika, że bieżący użytkownik ma uprawnienia PERSONIFIKUJ lub nazwę roli, do której należy użytkownik bieżący.ON QUEUE [ schema_name**.** ] queue_name
Określa kolejkę, która odbiera komunikaty usługa.Kolejka musi istnieć w tej samej bazy danych jako usługa.Jeśli nie schema_name jest warunkiem schematu jest domyślnego schematu dla użytkownika, który wykonuje instrukcja.contract_name
Określa kontrakt , dla której ta usługa może być miejsce docelowe.Programy usług zainicjować konwersacji z tej usługa za pomocą umów określone.Jeżeli nie określono żadnych umów, usługa może tylko zainicjować konwersacji.DEFAULT
Określa, że usługa może być miejsce docelowe dla konwersacji występujące domyślne kontrakt.W kontekście niniejszej klauzuladomyślnie nie jest słowem kluczowym i musi być rozdzielany jako identyfikator.DOMYŚLNE kontrakt umożliwia po obu stronach konwersacji do wysyłania wiadomości typ komunikatu domyślny.Typ wiadomości domyślnie używa brak sprawdzania poprawności.
Uwagi
usługa udostępnia funkcje dostarczane przez umów, z którymi jest skojarzona, dzięki czemu mogą być używane przez inne usługi.USŁUGI tworzenia instrukcja określa umów, czyli miejsce docelowe dla tej usługa .usługa może być tylko miejsce docelowe dla konwersacji, korzystających z umów, określonych przez usługa.Określa żaden kontrakt usługa uwidacznia nie funkcji z innych usług.
Konwersacje inicjowane z tej usługa może używać jakiegokolwiek kontrakt.Tworzenie usługa bez określenia umów, gdy usługa tylko inicjuje konwersacji.
Gdy Service Broker zaakceptuje nową konwersację z zdalnej usługanazwę miejsce docelowe usługa określa kolejkę, gdzie brokera umieszcza wiadomości w konwersacji.
Uprawnienia
Uprawnienie do tworzenia wartości domyślnych dla członków usługa db_ddladmin lub db_owner ról stałej bazy danych i sysadmin stała rola serwera.Użytkownik wykonywania usługi tworzenia instrukcja musi mieć uprawnienie odwołania do kolejki i wszystkich umów określonych.
Domyślnie uprawnienie odniesienia dla usługa właściciel usługa, członkowie db_ddladmin lub db_owner stałe role bazy danych i członkowie sysadmin stała rola serwera.Wyślij uprawnienia domyślne usługa do właściciela usługa, członkowie db_owner rola bazy danychi członków stałych sysadmin stała rola serwera.
usługa może nie być tymczasowy obiekt.Usługa nazw zaczyna się od # są dozwolone, ale są trwałe obiekty.
Przykłady
A.Tworzenie usługa z jednego kontrakt
Poniższy przykład tworzy usługa //Adventure-Works.com/Expenses na ExpenseQueue w kolejce w dbo schematu.Okna dialogowe tego miejsce docelowe usługa muszą być zgodne z kontrakt //Adventure-Works.com/Expenses/ExpenseSubmission.
CREATE SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE [dbo].[ExpenseQueue]
([//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
B.Tworzenie usługa z wielu umów
Poniższy przykład tworzy usługa //Adventure-Works.com/Expenses na ExpenseQueue kolejki.Okna dialogowe tego miejsce docelowe tej usługa albo postępuj zgodnie z kontrakt //Adventure-Works.com/Expenses/ExpenseSubmission lub kontrakt //Adventure-Works.com/Expenses/ExpenseProcessing.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue
([//Adventure-Works.com/Expenses/ExpenseSubmission],
[//Adventure-Works.com/Expenses/ExpenseProcessing]) ;
C.Tworzenie usługa z umów
Poniższy przykład tworzy usługa //Adventure-Works.com/Expenses on the ExpenseQueue kolejki.Ta usługa nie ma kontrakt informacji.W związku z tym, usługa może być tylko inicjatora okno dialogowe.
CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue ;
Zobacz także