ALTER SERVICE (Transact-SQL)

S’applique à :SQL ServerAzure 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  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

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

Voir aussi