ALTER SERVICE (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Modifica un servizio esistente.
Convenzioni relative alla 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 a quella nuova.
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 usano 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 il parametro AUTHORIZATION per un servizio, utilizzare l'istruzione ALTER AUTHORIZATION.
Autorizzazioni
L'autorizzazione per la modifica di un servizio viene assegnata per impostazione predefinita al proprietario del servizio, ai membri del ruolo predefinito del database db_ddladmin o db_owner e ai membri del ruolo predefinito del server sysadmin.
Esempi
R. 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]) ;
D. Modifica del proprietario di un servizio
Nell'esempio seguente il proprietario di //Adventure-Works.com/Expenses
viene sostituito con l'utente di dbo.
ALTER AUTHORIZATION ON SERVICE::[//Adventure-Works.com/Expenses] TO dbo ;
GO