Udostępnij za pośrednictwem


Usługa ALTER (Transact-SQL)

Zmienia istniejące usługa.

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

Składnia

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.

  • W KOLEJCE [ schema_name**.** ] queue_name
    Określa nową kolejkę dla tej usługa.Service BrokerPrzenosi wszystkie wiadomości dla tej usługa z bieżącej kolejce nową kolejkę.

  • DODAJ KONTRAKTcontract_name
    Określa kontrakt , dodać do kontrakt zestaw przez tę usługa.

  • USUWANIE KONTRAKTUcontract_name
    Określa kontrakt do usunięcia z kontrakt zestaw przez tę usługa.Service Brokerwysyła komunikat o błędzie na istniejących rozmowach z tej usługa , które korzystają z tej kontrakt.

Uwagi

Gdy usługa ALTER instrukcja usunie kontrakt z usługa, usługa nie może już być miejsce docelowe dla konwersacji, które korzystają z tej kontrakt.W związku z tym Service Broker nie zezwala na konwersacje nowe usługa w tej kontrakt.Nie wpływa to na istniejących konwersacji, które korzystają z kontrakt .

Zmiany autoryzacji dla usługaza pomocą autoryzacji zmienić instrukcja.

Uprawnienia

Domyślnie uprawnienia do modyfikacji 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.

Przykłady

A.Zmiana kolejki dla usługa

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

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

B.Dodawanie nowego kontrakt usługa

Następujący przykład zmiany //Adventure-Works.com/Expenses usługa zezwalająca na okna dialogowe kontrakt //Adventure-Works.com/Expenses.

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

C.Dodawanie nowego kontrakt usługa, upuszczając istniejący kontrakt

Następujący przykład zmiany //Adventure-Works.com/Expenses usługa zezwalająca na okna dialogowe kontrakt //Adventure-Works.com/Expenses/ExpenseProcessing i nie zezwalaj na okna dialogowe kontrakt //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]) ;