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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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 ;