ALTER SERVICE (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Modifie un service existant.
Conventions de la syntaxe Transact-SQL
Syntaxe
ALTER SERVICE service_name
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]
<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
Arguments
service_name
Nom du service à modifier. Les noms du serveur, de la base de données et du schéma ne peuvent pas être spécifiés.
ON QUEUE [ schema_name. ] queue_name
Spécifie la nouvelle file d'attente de ce service. Service Broker déplace tous les messages destinés à ce service de la file d'attente actuelle vers la nouvelle file d'attente.
ADD CONTRACT contract_name
Spécifie un contrat à ajouter à l'ensemble de contrats exposé par ce service.
DROP CONTRACT contract_name
Spécifie un contrat à supprimer de l'ensemble de contrats exposé par ce service. Service Broker envoie un message d'erreur sur toutes les conversations existantes avec ce service qui utilisent ce contrat.
Notes
Lorsque l'instruction ALTER SERVICE supprime un contrat d'un service, ce dernier ne peut plus être la destination des conversations qui utilisent ce contrat. Par conséquent, Service Broker n'autorise aucune nouvelle conversation avec le service sur ce contrat. Les conversations existantes qui utilisent le contrat ne sont pas affectées.
L'instruction ALTER AUTHORIZATION permet de modifier l'AUTORISATION pour un service.
Autorisations
Par défaut, l’autorisation de modification d’un service est octroyée au propriétaire de ce service, aux membres des rôles de base de données fixes db_ddladmin ou db_owner et aux membres du rôle serveur fixe sysadmin.
Exemples
R. Modification de la file d'attente d'un service
L'exemple suivant modifie le service //Adventure-Works.com/Expenses
pour qu'il utilise la file d'attente NewQueue
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE NewQueue ;
B. Ajout d'un nouveau contrat au service
L'exemple suivant modifie le service //Adventure-Works.com/Expenses
pour qu'il autorise les dialogues sur le contrat //Adventure-Works.com/Expenses
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
C. Ajout d'un nouveau contrat au service et suppression du contrat existant
L'exemple suivant modifie le service //Adventure-Works.com/Expenses
pour qu'il autorise les dialogues sur le contrat //Adventure-Works.com/Expenses/ExpenseProcessing
et qu'il les interdise sur le contrat //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. Modification du propriétaire d’un service
L'exemple suivant modifie le propriétaire de //Adventure-Works.com/Expenses
à l’utilisateur dbo.
ALTER AUTHORIZATION ON SERVICE::[//Adventure-Works.com/Expenses] TO dbo ;
GO