

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Rôles SQL Server Agent
<a name="SQLServerAgent.AgentRoles"></a>

RDS for SQL Server prend en charge les rôles SQL Server Agent suivants avec différents niveaux d’autorisation pour la gestion des tâches :
+ **SQLAgentUserRole**

  Autorisations
  + Créer et gérer leurs propres tâches, planifications et opérateurs
  + Afficher les propriétés de leurs propres tâches et planifications
  + Impossible d’afficher ou de gérer les tâches créées par d’autres utilisateurs

  Ce rôle convient aux utilisateurs qui doivent créer et gérer leurs propres tâches, mais qui n’ont pas besoin d’accéder à celles créées par d’autres utilisateurs.
+ **SQLAgentReaderRole**

  Autorisations
  + Toutes les autorisations de SQLAgentUserRole
  + Afficher la liste de toutes les tâches et planifications, y compris celles créées par d’autres
  + Afficher les propriétés de toutes les tâches
  + Consulter l’historique des tâches

  Ce rôle convient aux utilisateurs qui ont besoin de surveiller l’état de toutes les tâches, mais qui n’ont pas besoin de les gérer.
+ **SQLAgentOperatorRole**

  Autorisations
  + Toutes les autorisations de SQLAgentUserRole et de SQLAgentReaderRole
  + Exécuter, arrêter ou démarrer des tâches
  + Gérer l’historique des tâches
  + Activer/désactiver les tâches et les planifications
  + Afficher les opérateurs et les proxys

  Ce rôle fournit les autorisations les plus complètes et convient aux utilisateurs qui ont besoin d’un contrôle total sur toutes les tâches.

Exécutez la commande suivante pour attribuer les rôles à votre identifiant SQL Server :

```
USE msdb;
EXEC sp_addrolemember 'SQLAgentOperatorRole', 'username';
```

## Gestion de SQLAgentOperatorRole dans RDS for SQL Server
<a name="SQLServerAgent.AgentRoles.ManageSQLAgentOperatorRole"></a>

Pour afficher les tâches en cours, vous devez ajouter le rôle SQLAgentOperatorRole à votre identifiant SQL Server et le supprimer avant de vous déconnecter de votre base de données.

Pour visualiser l’arborescence de SQL Server Agent dans SQL Server Management Studio, suivez les instructions suivantes :

**Afficher SQL Server Agent sur SQL Server Management Studio (SSMS)**

1. À l’aide des informations d’identification principales RDS, connectez-vous à l’instance RDS SQL Server et attribuez le rôle SQLAgentUserRole à l’utilisateur souhaité.

   ```
   USE msdb
   GO
   IF NOT EXISTS(SELECT name FROM sys.database_principals WHERE name = 'UserName')
   BEGIN
   CREATE USER UserName FROM LOGIN UserName
   END
   GO
   ALTER ROLE SQLAgentUserRole ADD MEMBER UserName
   GO
   GRANT ALTER ON ROLE::[SQLAgentOperatorRole] to UserName
   GO
   ```

   Ces commandes créent l’utilisateur dans la base de données `msdb`, dans le cas où elle n’existerait pas. Elles ajoutent également l’utilisateur au rôle SQLAgentUserRole, de sorte que l’arborescence SQL Server Agent sur SSMS soit visible. Enfin, elles accordent à l’utilisateur des autorisations de modification sur le rôle SQLAgentOperatorRole. Cela permet à l’utilisateur de s’ajouter/de se supprimer lui-même pour ce rôle. 

1. Pour vous ajouter au rôle mentionné ci-dessus, connectez-vous à l’instance RDS SQL Server, avec l’utilisateur qui a besoin de voir les tâches, et exécutez le script suivant.

   ```
   use msdb
   go
   ALTER ROLE SQLAgentOperatorRole ADD MEMBER UserName
   GO
   ```

   Ensuite, cliquez avec le bouton droit sur le dossier **Tâches**, puis choisissez **Actualiser**.

1. Lorsque vous effectuez cette action, l’onglet **Tâches** affiche un bouton **\$1** (plus). Cliquez pour développer la liste des tâches SQL Server Agent.

1. 
**Important**  
Avant de vous déconnecter de l’instance RDS SQL Server, vous devez vous retirer du rôle SQLAgentOperatorRole.

   Pour supprimer votre connexion au rôle SQLAgentOperatorRole, exécutez la requête suivante avant de vous déconnecter ou de fermer le Management Studio :

   ```
   USE msdb
   GO
   ALTER ROLE SQLAgentOperatorRole DROP MEMBER UserName
   GO
   ```

Pour plus d’informations, consultez [Utilisation du rôle SQLAgentOperatorRole dans RDS SQL Server](https://aws.amazon.com/blogs/database/leveraging-sqlagentoperatorrole-in-rds-sql-server/).