ALTER SERVICE (Transact-SQL)

Zmienia istniejącą usługa.

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

ALTER SERVICE service_name 
   [ ON QUEUE [ schema_name . ]queue_name ] 
   [ ( < opt_arg > [ , ...n ] ) ]
[ ; ]

<opt_arg> ::=
   ADD CONTRACT contract_name | DROP CONTRACT contract_name

Argumenty

  • service_name
    Jest nazwą usługa, aby zmienić.Nie można określić nazwy serwera, bazy danych i schematu.

  • ON QUEUE [ schema_name**.** ] queue_name
    Specifies the new queue for this service.Service Broker moves all messages for this service from the current queue to the new queue.

  • ADD kontrakt contract_name
    Określa kontrakt, aby dodać do zestaw kontrakt przez tę usługa.

  • DROP kontrakt contract_name
    Specifies a contract to delete from the contract set exposed by this service.Service Broker sends an error message on any existing conversations with this service that use this contract.

Remarks

Po instrukcja ALTER usługi usuwa kontrakt z usługą, usługa nie jest już może być miejsce docelowe dla konwersacji, korzystające z tej kontrakt.Dlatego też Service Broker nie zezwala na nowe rozmowy z usługa w tej kontrakt. Nie wpływa to na istniejącej konwersacji, korzystających z kontrakt.

Aby zmienić autoryzacja dla usług, za pomocą instrukcja ALTER autoryzacja.

Uprawnienia

Domyślnie uprawnienia do modyfikacji usługa właściciel usługa, członkowie db_ddladmin or db_owner stałe role bazy danych i członkowie sysadmin ustalić roli serwera.

Przykłady

A.Zmiana kolejek dla usługa

Następujące zmiany przykład //Adventure-Works.com/Expenses usługa do korzystania z kolejki NewQueue.

ALTER SERVICE [//Adventure-Works.com/Expenses]
    ON QUEUE NewQueue ;

B.Dodawanie nowego kontrakt z usługa

Następujące zmiany przykład //Adventure-Works.com/Expenses usługa, aby umożliwić w oknach dialogowych kontrakt //Adventure-Works.com/Expenses.

ALTER SERVICE [//Adventure-Works.com/Expenses]
    (ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;

C.Dodawanie nowego kontrakt z usługa, usunięcie istniejącego kontrakt

Następujące zmiany przykład //Adventure-Works.com/Expenses usługa, aby zezwolić na okna dialogowe w umowie //Adventure-Works.com/Expenses/ExpenseProcessing i nie zezwalaj na okna dialogowe w umowie //Adventure-Works.com/Expenses/ExpenseSubmission.

ALTER SERVICE [//Adventure-Works.com/Expenses]
    (ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing], 
     DROP CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;