

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**

  Permissions
  + 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**

  Permissions
  + 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**

  Permissions
  + Toutes les autorisations de SQLAgentUserRole et SQLAgentReaderRole
  + Exécuter, arrêter ou démarrer des tâches
  + Gérer l’historique des tâches
  + Enable/disable emplois et horaires
  + 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 SQLAgentOperatorRole dans RDS pour SQL Server
<a name="SQLServerAgent.AgentRoles.ManageSQLAgentOperatorRole"></a>

Pour afficher les tâches en cours, vous devez les ajouter SQLAgentOperatorRole à votre identifiant SQL Server et les 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 accordez à l'utilisateur souhaité le. SQLAgentUserRole

   ```
   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. Il ajoute également l'utilisateur sur le SQLAgentUserRole, de sorte que l'arborescence de l'agent SQL Server sur SSMS soit visible. Enfin, il accorde des autorisations de modification SQLAgentOperatorRole à l'utilisateur. Cela permet à l'utilisateur de add/remove s'émanciper de 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 **\+** (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 SQLAgentOperatorRole.

   Pour supprimer votre identifiant du SQLAgentOperatorRole, exécutez la requête suivante avant de déconnecter ou de fermer le Management Studio :

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

Pour plus d'informations, consultez la section [Exploitation SQLAgentOperatorRole dans RDS SQL Server](https://aws.amazon.com/blogs/database/leveraging-sqlagentoperatorrole-in-rds-sql-server/).