Condividi tramite


REVOKE - autorizzazioni per server (Transact-SQL)

Rimuove le autorizzazioni GRANT e DENY a livello del server.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ] 
    { TO | FROM } <grantee_principal> [ ,...n ]
        [ CASCADE ]
    [ 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 | FROM } <grantee_principal>
    Specifica l'entità da cui viene revocata l'autorizzazione.

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

  • GRANT OPTION FOR
    Indica che verrà revocato il diritto di concedere l'autorizzazione specificata ad altre entità. L'autorizzazione stessa non verrà revocata.

    Nota importanteImportante

    Se l'autorizzazione specificata è stata concessa all'entità senza l'opzione GRANT, l'autorizzazione stessa verrà revocata.

  • CASCADE
    Indica che l'autorizzazione che viene revocata viene revocata anche ad altre entità a cui è stata concessa o negata da questa entità.

    Nota di attenzioneAttenzione

    La revoca propagata di un'autorizzazione concessa con WITH GRANT OPTION comporterà la revoca sia delle autorizzazioni GRANT che delle autorizzazioni DENY per tale autorizzazione.

  • 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 revocare autorizzazioni nell'ambito del server solo se il database corrente è il database master.

Con REVOKE vengono rimosse sia le autorizzazioni GRANT che le autorizzazioni DENY.

Utilizzare REVOKE GRANT OPTION FOR per revocare il diritto di riconcedere l'autorizzazione specificata. Se l'entità dispone dell'autorizzazione con il diritto di concessione, verrà revocato il diritto di concedere tale autorizzazione, ma l'autorizzazione stessa non verrà revocata. Se invece l'entità dispone dell'autorizzazione specificata senza opzione GRANT, verrà revocata l'autorizzazione stessa.

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

È richiesta l'autorizzazione CONTROL SERVER o l'appartenenza al ruolo predefinito del server sysadmin.

Esempi

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

Nell'esempio seguente viene revocata l'autorizzazione VIEW SERVER STATE all'account di accesso di SQL ServerWanidaBenshoof.

USE master;
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;
GO

B. Revoca dell'opzione WITH GRANT

Nell'esempio seguente viene revocato il diritto di concedere l'autorizzazione CONNECT SQL all'account di accesso di SQL ServerJanethEsteves.

USE master;
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;
GO

L'account di accesso dispone ancora dell'autorizzazione CONNECT SQL, ma non potrà più concedere tale autorizzazione ad altre entità.