Concedere un'autorizzazione a un'entitàGrant a Permission to a Principal

In questo argomento viene descritto come concedere un'autorizzazione a un'entità in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to grant permission to a principal in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

Le procedure consigliate riportate di seguito consentono di gestire più facilmente le autorizzazioni.Consider the following best practices that can make managing permissions easier.

  • Concedere autorizzazione a ruoli, anziché a singoli account di accesso o utenti.Grant permission to roles, instead of individual logins or users. Quando un singolo utente viene sostituito da un altro, rimuovere l'utente che non è più incluso nel ruolo e aggiungere il nuovo utente al ruolo.When one individual is replaced by another, remove the departing individual from the role and add the new individual to the role. Le numerose autorizzazioni eventualmente associate al ruolo saranno automaticamente disponibili per il nuovo utente.The many permissions that might be associated with the role will automatically be available to the new individual. Se diverse persone in un'organizzazione richiedono le stesse autorizzazioni, l'aggiunta di ciascuna persona al ruolo comporterà la concessione automatica delle stesse autorizzazioni.If several people in an organization require the same permissions, adding each of them to the role will grant them the same permissions.

  • Configurare entità a protezione diretta simili, quali tabelle, viste e procedure, come di proprietà di uno schema, quindi concedere le autorizzazioni allo schema.Configure similar securables (tables, views, and procedures) to be owned by a schema, then grant permissions to the schema. Ad esempio, lo schema del libro paga potrebbe possedere diverse tabelle, viste e stored procedure.For example, the payroll schema might own several tables, views, and stored procedures. Concedendo l'accesso allo schema, verranno concesse simultaneamente tutte le necessarie autorizzazioni per eseguire la funzione di retribuzione.By granting access to the schema, all the necessary permissions to perform the payroll function can be granted at the same time. Per ulteriori informazioni sulle entità a protezione diretta a cui è possibile concedere le autorizzazioni, vedere Securables.For more information about what securables can be granted permissions, see Securables.

Sicurezza Security

Autorizzazioni Permissions

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.The grantor (or the principal specified with the AS option) must have either the permission itself with GRANT OPTION or a higher permission that implies the permission being granted. I membri del ruolo predefinito del server sysadmin possono concedere qualsiasi autorizzazione.Members of the sysadmin fixed server role can grant any permission.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per concedere un'autorizzazione a un'entitàTo grant permission to a principal

  1. In Esplora oggetti espandere il database contenente l'oggetto a cui si desiderano concedere autorizzazioni.In Object Explorer, expand the database that contains the object to which you want to grant permissions.

    Nota

    In questi passaggi viene trattata specificatamente la concessione delle autorizzazioni a una stored procedure, ma è possibile utilizzare passaggi simili per aggiungere autorizzazioni a tabelle, viste, funzioni e assembly e altre entità a protezione diretta.These steps deal specifically with granting permissions to a stored procedure, but you can use similar steps to add permissions to tables, views, functions, and assemblies, as well as other securables. Per altre informazioni, vedere GRANT (Transact-SQL).For more information, see GRANT (Transact-SQL)

  2. Espandere la cartella Programmabilità .Expand the Programmability folder.

  3. Espandere la cartella Stored procedure .Expand the Stored Procedures folder.

  4. Fare clic con il pulsante destro del mouse su una stored procedure e selezionare Proprietà.Right-click a stored procedure and select Properties.

  5. Nella finestra di dialogo Proprietà stored procedure -nome_stored_procedure selezionare Autorizzazioni.In the Stored Procedure Properties –stored_procedure_name dialog box, under select a page, select Permissions. Utilizzare questa pagina per aggiungere utenti o ruoli alla stored procedure e specificare le autorizzazioni degli utenti o dei ruoli.Use this page to add users or roles to the stored procedure and specify the permissions those users or roles have.

  6. Al termine, fare clic su OK.When finished, click OK.

Utilizzo di Transact-SQL Using Transact-SQL

Per concedere un'autorizzazione a un'entitàTo grant permission to a principal

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2012;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

    Per altre informazioni, vedere GRANT (Transact-SQL) e GRANT - autorizzazioni per oggetti (Transact-SQL).For more information, see GRANT (Transact-SQL) and GRANT Object Permissions (Transact-SQL).

Vedere ancheSee Also

Entità (Motore di database)Principals (Database Engine)