Condividi tramite


GRANT - autorizzazioni per server (Transact-SQL)

Concede le autorizzazioni per un server.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

GRANT permission [ ,...n ] 
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
    [ AS <grantor_principal> ]

<grantee_principal> ::= SQL_Server_login 
    | SQL_Server_login_mapped_to_Windows_login
    | SQL_Server_login_mapped_to_Windows_group
    | SQL_Server_login_mapped_to_certificate
    | SQL_Server_login_mapped_to_asymmetric_key
    | server_role 

<grantor_principal> ::= SQL_Server_login 
    | SQL_Server_login_mapped_to_Windows_login
    | SQL_Server_login_mapped_to_Windows_group
    | SQL_Server_login_mapped_to_certificate
    | SQL_Server_login_mapped_to_asymmetric_key
    | server_role

Argomenti

  • permission
    Specifica un'autorizzazione che può essere concessa per un server. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

  • TO <grantee_principal>
    Specifica l'entità a cui viene concessa l'autorizzazione.

  • AS <grantor_principal>
    Specifica un'entità dalla quale l'entità che esegue la query ottiene il diritto di concedere l'autorizzazione.

  • WITH GRANT OPTION
    Indica che l'entità potrà inoltre concedere l'autorizzazione specificata ad altre entità.

  • SQL_Server_login
    Specifica un account di accesso di SQL Server.

  • SQL_Server_login_mapped_to_Windows_login
    Specifica un account di accesso di SQL Server sul quale viene eseguito il mapping a un utente di Windows.

  • SQL_Server_login_mapped_to_Windows_group
    Specifica un account di accesso di SQL Server sul quale viene eseguito il mapping a un gruppo di Windows.

  • SQL_Server_login_mapped_to_certificate
    Specifica un account di accesso di SQL Server di cui è stato eseguito il mapping a un certificato.

  • SQL_Server_login_mapped_to_asymmetric_key
    Specifica un account di accesso di SQL Server di cui è stato eseguito il mapping a una chiave asimmetrica.

  • server_role
    Specifica un ruolo del server definito dall'utente.

Osservazioni

È possibile concedere autorizzazioni nell'ambito del server solo se il database corrente è il database master.

È possibile visualizzare le informazioni sulle autorizzazioni del server nella vista del catalogo sys.server_permissions e le informazioni sulle entità server nella vista del catalogo sys.server_principals. Le informazioni sulle appartenenze dei ruoli del server sono visibili nella vista del catalogo sys.server_role_members.

Un server rappresenta il livello più alto nella gerarchia delle autorizzazioni. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile concedere per un server.

Autorizzazione del server

Autorizzazione del server in cui è inclusa

ADMINISTER BULK OPERATIONS

CONTROL SERVER

ALTER ANY AVAILABILITY GROUP

CONTROL SERVER

ALTER ANY CONNECTION

CONTROL SERVER

ALTER ANY CREDENTIAL

CONTROL SERVER

ALTER ANY DATABASE

CONTROL SERVER

ALTER ANY ENDPOINT

CONTROL SERVER

ALTER ANY EVENT NOTIFICATION

CONTROL SERVER

ALTER ANY EVENT SESSION

CONTROL SERVER

ALTER ANY LINKED SERVER

CONTROL SERVER

ALTER ANY LOGIN

CONTROL SERVER

ALTER ANY SERVER AUDIT

CONTROL SERVER

ALTER ANY SERVER ROLE

CONTROL SERVER

ALTER RESOURCES

CONTROL SERVER

ALTER SERVER STATE

CONTROL SERVER

ALTER SETTINGS

CONTROL SERVER

ALTER TRACE

CONTROL SERVER

AUTHENTICATE SERVER

CONTROL SERVER

CONNECT SQL

CONTROL SERVER

CONTROL SERVER

CONTROL SERVER

CREATE ANY DATABASE

ALTER ANY DATABASE

CREATE AVAILABILITY GROUP

ALTER ANY AVAILABILITY GROUP

CREATE DDL EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

CREATE ENDPOINT

ALTER ANY ENDPOINT

CREATE SERVER ROLE

ALTER ANY SERVER ROLE

CREATE TRACE EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

EXTERNAL ACCESS ASSEMBLY

CONTROL SERVER

SHUTDOWN

CONTROL SERVER

UNSAFE ASSEMBLY

CONTROL SERVER

VIEW ANY DATABASE

VIEW ANY DEFINITION

VIEW ANY DEFINITION

CONTROL SERVER

VIEW SERVER STATE

ALTER SERVER STATE

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. I membri del ruolo predefinito del server sysadmin possono concedere qualsiasi autorizzazione.

Esempi

A.Concessione di un'autorizzazione a un account di accesso

Nell'esempio seguente viene concessa l'autorizzazione CONTROL SERVER all'account di accesso di SQL Server TerryEminhizer.

USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO

B.Concessione di un'autorizzazione che include l'autorizzazione GRANT

Nell'esempio seguente viene concessa l'autorizzazione ALTER ANY EVENT NOTIFICATION all'account di accesso di SQL Server JanethEsteves con il diritto di concedere tale autorizzazione a un altro account di accesso.

USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO

C.Concessione di un'autorizzazione a un ruolo del server

Nell'esempio seguente vengono creati due ruoli del server denominati ITDevAdmin e ITDevelopers. Concede l'autorizzazione ALTER ANY DATABASE al ruolo del server definito dall'utente ITDevAdmin inclusa l'opzione WITH GRANT in modo che il ruolo del server ITDevAdmin possa riassegnare l'autorizzazione ALTER ANY DATABASE. Nell'esempio viene quindi concessa a ITDevelopers l'autorizzazione per l'utilizzo dell'autorizzazione ALTER ANY DATABASE del ruolo del server ITDevAdmin.

USE master;
CREATE SERVER ROLE ITDevAdmin ;
CREATE SERVER ROLE ITDevelopers ;
GRANT ALTER ANY DATABASE TO ITDevAdmin WITH GRANT OPTION ;
GRANT ALTER ANY DATABASE TO ITDevelopers AS ITDevAdmin ;
GO

Vedere anche

Riferimento

GRANT (Transact-SQL)

DENY (Transact-SQL)

DENY - autorizzazioni per server (Transact-SQL)

REVOKE - autorizzazioni per server (Transact-SQL)

sys.fn_builtin_permissions (Transact-SQL)

sys.fn_my_permissions (Transact-SQL)

HAS_PERMS_BY_NAME (Transact-SQL)

Concetti

Gerarchia delle autorizzazioni (Motore di database)

Entità (Motore di database)

Autorizzazioni (Motore di database)