

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ruoli di SQL Server Agent
<a name="SQLServerAgent.AgentRoles"></a>

RDS per SQL Server supporta i seguenti ruoli di SQL Server Agent con diversi livelli di autorizzazioni per la gestione dei processi:
+ **SQLAgentUserRole**

  Autorizzazioni
  + Creare e gestire i propri processi, programmi e operatori
  + Visualizzare le proprietà dei propri processi e programmi
  + Non è possibile visualizzare o gestire i processi creati da altri utenti

  Questo ruolo è adatto agli utenti che devono creare e gestire i propri processi ma non richiedono l’accesso ai processi creati da altri utenti.
+ **SQLAgentReaderRole**

  Autorizzazioni
  + Tutte le autorizzazioni di SQLAgentUserRole
  + Visualizzare un elenco di tutti i processi e programmi, inclusi quelli creati da altri
  + Visualizzare le proprietà di tutti i processi
  + Rivedere la cronologia dei processi

  Questo ruolo è adatto agli utenti che devono monitorare lo stato di tutti i processi ma non devono gestirli.
+ **SQLAgentOperatorRole**

  Autorizzazioni
  + Tutte le autorizzazioni di SQLAgentUserRole e SQLAgentReaderRole
  + Eseguire, arrestare o avviare i processi
  + Gestire la cronologia dei processi
  + Abilitare/disabilitare processi e programmi
  + Visualizzare operatori e proxy

  Questo ruolo fornisce le autorizzazioni più estese ed è adatto agli utenti che devono avere il pieno controllo su tutti i processi.

Utilizza il comando seguente per assegnare i ruoli al tuo accesso SQL Server:

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

## Gestione di SQLAgentOperatorRole in RDS per SQL Server
<a name="SQLServerAgent.AgentRoles.ManageSQLAgentOperatorRole"></a>

Per visualizzare i processi correnti, è necessario aggiungere SQLAgentOperatorRole all’accesso SQL Server e rimuoverlo prima di disconnettersi dal database.

Per visualizzare la struttura ad albero di SQL Server Agent in SQL Server Management Studio, segui queste istruzioni:

**Visualizzazione di SQL Server Agent in SQL Server Management Studio (SSMS)**

1. Utilizzando le credenziali di utente master RDS, accedi all’istanza RDS per SQL Server e concedi all’utente desiderato il ruolo 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
   ```

   Questi comandi creano l’utente nel database `msdb`, nel caso in cui non esista. Aggiungono inoltre l’utente in SQLAgentUserRole, in modo da rendere visibile la struttura ad albero di SQL Server Agent in SSMS. Infine, concedono all’utente le autorizzazioni di modifica sul ruolo SQLAgentOperatorRole. In questo modo, l’utente può aggiungere/rimuovere se stesso da tale ruolo. 

1. Per aggiungerti a questo ruolo, connettiti all’istanza RDS per SQL Server come utente che deve visualizzare i processi ed esegui lo script seguente.

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

   Quindi, fai clic con il pulsante destro del mouse sulla cartella **Processi** e scegli **Aggiorna**.

1. Quando esegui questa azione, nella scheda **Processi** viene visualizzato il pulsante **\$1** (più). Fai clic per espandere l’elenco dei processi di SQL Server Agent.

1. 
**Importante**  
Prima di disconnetterti dall’istanza RDS per SQL Server, devi rimuoverti da SQLAgentOperatorRole.

   Per rimuovere il tuo accesso da SQLAgentOperatorRole, esegui la seguente query prima di disconnetterti o chiudere Management Studio:

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

Per ulteriori informazioni, consulta [Leveraging SQLAgentOperatorRole in RDS SQL Server](https://aws.amazon.com/blogs/database/leveraging-sqlagentoperatorrole-in-rds-sql-server/).