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.
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 ;
See Also