Condividi tramite


Concedere autorizzazioni per una procedura memorizzata

Si applica a: SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

Questo articolo illustra come concedere autorizzazioni per una stored procedure in SQL Server usando SQL Server Management Studio o Transact-SQL. Le autorizzazioni possono essere concesse a un utente esistente, a un ruolo del database o a un ruolo applicativo nel database.

Limitazioni e restrizioni

Autorizzazioni

L'utente che concede le autorizzazioni (o l'entità specificata con l'opzione AS) deve disporre del permesso stesso con GRANT OPTION oppure di un'autorizzazione di livello superiore che implichi il permesso che viene concesso. È richiesta l'autorizzazione ALTER per lo schema a cui appartiene la procedura oppure l'autorizzazione CONTROL per la procedura. Per altre informazioni, vedere GRANT - autorizzazioni per oggetti.

Usare SQL Server Management Studio

Per concedere autorizzazioni per una stored procedure

  1. In Esplora oggetti, connettiti a un'istanza del Motore di Database ed espandi quell'istanza.

  2. Espandi Database, espandi il database in cui appartiene la procedura, quindi espandi Programmabilità.

  3. Espandere Stored procedure, fare clic con il pulsante destro del mouse sulla procedura per cui concedere autorizzazioni e quindi scegliere Proprietà.

  4. Da Proprietà stored procedure, selezionare la pagina Autorizzazioni.

  5. Per concedere autorizzazioni a un utente, a un ruolo del database o a un ruolo applicazione, selezionare Cerca.

  6. In Selezione utenti o ruoli fare clic su Tipi di oggetti per aggiungere o cancellare gli utenti e i ruoli desiderati.

  7. Fare clic su Sfoglia per visualizzare l'elenco di utenti o ruoli. Selezionare gli utenti o i ruoli a cui concedere le autorizzazioni.

  8. Nella griglia Autorizzazioni esplicite selezionare le autorizzazioni da concedere all'utente o al ruolo specificato. Per una descrizione delle autorizzazioni, vedere Autorizzazioni (Motore di database).

Selezionando Concedi al beneficiario verrà assegnata l'autorizzazione specificata. Se si seleziona Autorizza alla concessione di autorizzazioni al beneficiario verrà inoltre consentito di concedere l'autorizzazione specificata ad altre entità.

Usare Transact-SQL

Per concedere autorizzazioni per una stored procedure

  1. Connetti al motore di database.

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. Nell'esempio, l'autorizzazione EXECUTE viene concessa per la stored procedure HumanResources.uspUpdateEmployeeHireInfo a un ruolo applicativo denominato Recruiting11.

USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
    TO Recruiting11;
GO

Per concedere autorizzazioni per tutte le stored procedure in uno schema

  1. Connetti al motore del database.

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio viene concessa l'autorizzazione EXECUTE per tutte le stored procedure esistenti o che esisteranno nello schema HumanResources, a un ruolo applicativo denominato Recruiting11.

USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;
GO