Condividi tramite


GRANT - autorizzazioni per server (Transact-SQL)

Concede le autorizzazioni per un server.

Icona di collegamento a un argomentoConvenzioni 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

<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

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 mappato a un utente di Windows.

  • SQL_Server_login_mapped_to_Windows_group
    Specifica un account di accesso di SQL Server mappato a un gruppo di Windows.

  • SQL_Server_login_mapped_to_certificate
    Specifica un account di accesso di SQL Server mappato a un certificato.

  • SQL_Server_login_mapped_to_asymmetric_key
    Specifica un account di accesso di SQL Server mappato a una chiave asimmetrica.

Osservazioni

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

Le informazioni sulle autorizzazioni del server sono visibili nella vista del catalogo sys.server_permissions e le informazioni sulle entità server sono visibili 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 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 LINKED SERVER

CONTROL SERVER

ALTER ANY LOGIN

CONTROL SERVER

ALTER ANY SERVER AUDIT

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 DDL EVENT NOTIFICATION

ALTER ANY EVENT NOTIFICATION

CREATE ENDPOINT

ALTER ANY ENDPOINT

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 ServerTerryEminhizer.

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 ServerJanethEsteves 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