Udostępnij za pośrednictwem


CREATE usługa (języka Transact-SQL)

Tworzy nową usługa.A Service Broker service is a name for a specific task or set of tasks.Service Broker uses the name of the service to route messages, deliver messages to the correct queue within a database, and enforce the contract for a conversation.

Topic link iconKonwencje składni języka Transact-SQL

CREATE SERVICE service_name
   [ AUTHORIZATION owner_name ]
   ON QUEUE [ schema_name. ]queue_name
   [ ( contract_name | [DEFAULT][ ,...n ] ) ]
[ ; ]

Argumenty

  • service_name
    Jest nazwą usługa, aby utworzyć.Nowa usługa jest tworzony w bieżącej bazie danych i własnością podmiotu, określonych w klauzula autoryzacja.Nie można określić nazwy serwera, bazy danych i schematu.The service_name must be a valid sysname.

    Uwaga

    Nie należy tworzyć usługa, który wykorzystuje słowo kluczowe ANY dla service_name. Po określeniu ANY dla nazwy usługa w CREATE priorytet BROKERA priorytet jest uważany za dla wszystkich usług.Nie jest ograniczony do usług, których nazwy są ANY.

  • autoryzacja owner_name
    Ustawia określonej bazy danych użytkownika lub rolę właściciela usługa.Gdy jest bieżący użytkownik dbo or SA, owner_name może być nazwa roli lub użytkownika jest nieprawidłowe. W przeciwnym razie owner_name musi mieć nazwę bieżącego użytkownika, nazwę użytkownika, że bieżący użytkownik ma uprawnienie do PERSONIFIKACJI dla lub nazwa roli, do których należy bieżący użytkownik.

  • ON QUEUE [ schema_name**.** ] queue_name
    Określa kolejkę, która odbiera wiadomości dla tej usługa.Kolejki musi znajdować się w tej samej bazy danych jako usługa.Jeśli nie schema_name jest dostarczane w schemacie jest domyślnego schematu dla użytkownika, który wykonuje instrukcję.

  • contract_name
    Określa kontrakt, dla których usługa ta może być miejsce docelowe.Programy usługa zainicjować konwersacji z tą usługa przy użyciu określonych zamówień.Jeśli umowy nie zostaną określone, usługa tylko może zainicjować konwersacji.

  • [DEFAULT]
    Określa, że usługa może być miejsce docelowe dla konwersacji, które zgodnie z DOMYŚLNYMI kontrakt.W kontekście tę klauzulę domyślny nie jest słowem kluczowym i muszą być wyznaczone jako identyfikator.Kontrakt DEFAULT umożliwia po obu stronach konwersacji do wysyłania komunikatów typu komunikat domyślny.Typ komunikatu DEFAULT używa brak sprawdzania poprawności.

Remarks

Usługa udostępnia funkcję oferowaną przez umów, z którą jest skojarzona, tak aby mogły być używane przez inne usługi.Instrukcja CREATE SERVICE określa kontrakty, które usługa ta jest miejsce docelowe.Usługa może być tylko element miejsce docelowe dla konwersacji, korzystające z zamówień, określone przez usługę.Usługa, która określa umowy nie udostępnia żadnych funkcji z innych usług.

Rozmowy, zainicjowane z tej usługa może korzystać z żadną umową.Usługi można utworzyć bez określenia umów, gdy usługa tylko inicjuje konwersacji.

Kiedy Service Broker akceptuje nowe konwersacji z usługa zdalnego, nazwa usługa miejsce docelowe określa kolejkę brokera umieszcza wiadomości w konwersacji.

Uprawnienia

Domyślnie uprawnienie do tworzenia usługa dla członków db_ddladmin or db_owner stałe role bazy danych i sysadmin stała rola serwera.Użytkownik, wykonywania instrukcja CREATE usługa musi mieć uprawnienie materiały referencyjne w kolejce i wszystkich umów określony.

Domyślnie uprawnienie materiały referencyjne dla usługa właściciel usługa, członkowie db_ddladmin or db_owner stałe role bazy danych i członkowie sysadmin stała rola serwera.SEND uprawnienia domyślne usługa do właściciela usługa członków db_owner stałe rola bazy danych i członkowie sysadmin ustalić roli serwera.

Usługa nie może być tymczasowy obiekt.Zaczyna się od nazw usług # są dozwolone, ale są trwałe obiekty.

Przykłady

A.Tworzenie usługa z jednej kontrakt

Poniższy przykład tworzy usługa //Adventure-Works.com/Expenses na ExpenseQueue w kolejce w dbo schemat. Okna dialogowe, które miejsce docelowe usługa ta musi być zgodny 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 kolejka. Okna dialogowe, które współpracować z tej usługa albo musi następować kontrakt //Adventure-Works.com/Expenses/ExpenseSubmission lub w umowie //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 nie kontraktów

Poniższy przykład tworzy usługa //Adventure-Works.com/Expenses on the ExpenseQueue kolejka. Ta usługa nie ma kontrakt informacji.Z tego powodu usługa może być tylko inicjatora okna dialogowego.

CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue ;