Concedere autorizzazioni per una stored procedure

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, a un ruolo del database o a un ruolo applicazione nel database.

Limitazioni e restrizioni

  • Non è possibile utilizzare SQL Server Management Studio per concedere autorizzazioni per stored procedure o funzioni di sistema. Utilizzare invece GRANT - autorizzazioni per oggetti .

Autorizzazioni

L'utente che concede le autorizzazioni (o l'entità specificata con l'opzione AS) deve disporre della relativa autorizzazione con GRANT OPTION oppure di un'autorizzazione di livello superiore che include l'autorizzazione che viene concessa. È richiesta l'autorizzazione ALTER per lo schema a cui appartiene la stored procedure oppure l'autorizzazione CONTROL per la stored procedure. Per altre informazioni, vedere GRANT - autorizzazioni per oggetti Transact-SQL.

Usare SQL Server Management Studio

Per concedere autorizzazioni per una stored procedure

  1. In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.

  2. Espandere Database, espandere il database a cui appartiene la stored procedure, quindi espandere 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 procedureselezionare 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. Connettersi al motore di database di .

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. Nell'esempio viene concessa l'autorizzazione EXECUTE per la stored procedure HumanResources.uspUpdateEmployeeHireInfo a un ruolo applicazione 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. Connettersi al motore di database di .

  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 applicazione denominato Recruiting11.

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

Passaggi successivi