ALTER SERVICE (Transact-SQL)
Modifica un servizio esistente.
Convenzioni della sintassi Transact-SQL
Sintassi
ALTER SERVICE service_name
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]
<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
Argomenti
- service_name
Nome del servizio da modificare. Non è possibile specificare i nomi del server, del database e dello schema.
- ON QUEUE [ schema_name**.** ] queue_name
Specifica la nuova coda per questo servizio. Service Broker sposta tutti i messaggi per questo servizio dalla coda corrente alla nuova coda.
- ADD CONTRACT contract_name
Specifica un contratto da aggiungere al set dei contratti esposti da questo servizio.
- DROP CONTRACT contract_name
Specifica un contratto da eliminare dal set dei contratti esposti da questo servizio. Service Broker invia un messaggio di errore per tutte le conversazioni esistenti con il servizio che utilizzano questo contratto.
Osservazioni
Quando l'istruzione ALTER SERVICE elimina un contratto da un servizio, il servizio non può più essere la destinazione per le conversazioni che utilizzano tale contratto. Service Broker non consente pertanto nuove conversazioni con il servizio in base a quel contratto. Le conversazioni esistenti che utilizzano il contratto non subiscono variazioni.
Per modificare AUTHORIZATION per un servizio, utilizzare l'istruzione ALTER AUTHORIZATION.
Autorizzazioni
L'autorizzazione per modificare un servizio viene assegnata per impostazione predefinita al proprietario del servizio, ai membri dei ruoli predefiniti del database ddl_admin o db_owner e ai membri del ruolo predefinito del server sysadmin.
Esempi
A. Modifica della coda per un servizio
Nell'esempio seguente il servizio //Adventure-Works.com/Expenses
viene modificato in modo che utilizzi la coda NewQueue
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE NewQueue ;
B. Aggiunta di un nuovo contratto al servizio
Nell'esempio seguente il servizio //Adventure-Works.com/Expenses
viene modificato in modo da consentire i dialoghi nel contratto //Adventure-Works.com/Expenses
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
C. Aggiunta di un nuovo contratto al servizio, eliminazione del contratto esistente
Nell'esempio seguente il servizio //Adventure-Works.com/Expenses
viene modificato in modo da consentire i dialoghi nel contratto //Adventure-Works.com/Expenses/ExpenseProcessing
e da non consentire i dialoghi nel contratto //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]) ;
Vedere anche
Riferimento
CREATE SERVICE (Transact-SQL)
DROP SERVICE (Transact-SQL)
EVENTDATA (Transact-SQL)
Altre risorse
Creating Service Broker Applications