Dela via


REVOKE (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Tar bort en tidigare beviljad eller nekad behörighet.

Transact-SQL syntaxkonventioner

Syntax

Syntax för SQL Server, Azure SQL Database och Fabric SQL-databas

-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  

Syntax för Azure Synapse Analytics, Parallel Data Warehouse och Microsoft Fabric Warehouse

REVOKE
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

BEVILJA ALTERNATIV FÖR
Anger att möjligheten att bevilja den angivna behörigheten kommer att återkallas. Detta krävs när du använder argumentet CASCADE.

Important

Om huvudkontot har den angivna behörigheten utan alternativet BEVILJA återkallas själva behörigheten.

ALL
Gäller för: SQL Server 2008 (10.0.x) och senare

Det här alternativet återkallar inte alla möjliga behörigheter. Att återkalla ALLA motsvarar återkallande av följande behörigheter.

  • Om skyddsbar är en databas betyder ALL SÄKERHETSKOPIERINGSDATABAS, SÄKERHETSKOPIERINGSLOGG, SKAPA DATABAS, SKAPA STANDARD, SKAPA FUNKTION, SKAPA PROCEDUR, SKAPA REGEL, SKAPA TABELL OCH SKAPA VY.

  • Om skyddsbar är en skalär funktion betyder ALL EXECUTE och REFERENCES.

  • Om skyddsbar är en tabellvärdesfunktion betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.

  • Om skyddsbara är en lagrad procedur betyder ALL EXECUTE.

  • Om skyddsbar är en tabell betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.

  • Om skyddsbar är en vy betyder ALL DELETE, INSERT, REFERENCES, SELECT och UPDATE.

Note

SYNTAXEN ÅTERKALLA ALLA är inaktuell. Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Återkalla specifika behörigheter i stället.

PRIVILEGES
Ingår för ISO-efterlevnad. Ändrar inte beteendet för ALLA.

permission
Är namnet på en behörighet. Giltiga mappningar av behörigheter till skyddsbara filer beskrivs i de avsnitt som anges i Säker syntax senare i det här avsnittet.

column
Anger namnet på en kolumn i en tabell där behörigheter återkallas. Parenteserna krävs.

class
Anger klassen för den skyddsbara som behörigheten återkallas för. Omfångskvalificeraren :: krävs.

securable
Anger det skydd som behörigheten återkallas för.

TILL | FROM-huvudnamn
Är namnet på ett huvudnamn. De huvudkonton från vilka behörigheter för en skyddsbar kan återkallas varierar beroende på vilka som kan skyddas. Mer information om giltiga kombinationer finns i avsnitten som visas i Säker syntax senare i det här avsnittet.

CASCADE
Anger att behörigheten som återkallas också återkallas från andra huvudnamn som det har beviljats av det här huvudkontot. När du använder argumentet CASCADE måste du även inkludera argumentet BEVILJA ALTERNATIV FÖR.

Caution

Ett kaskadåterkallning av en behörighet som beviljats MED GRANT OPTION återkallar både GRANT och DENY för den behörigheten.

AS principal
Använd AS-huvudsatsen för att ange att du återkallar en behörighet som har beviljats av ett annat huvudnamn än dig. Anta till exempel att användaren Mary är principal_id 12 och att användaren Raul är principal_id 15. Både Mary och Raul ger en användare som heter Steven samma behörighet. Tabellen sys.database_permissions anger behörigheterna två gånger, men var och en har olika grantor_principal_id värde. Mary kan återkalla behörigheten med hjälp av klausulen AS RAUL för att ta bort Rauls beviljande av behörigheten.

Användningen av AS i den här instruktionen innebär inte möjligheten att personifiera en annan användare.

Remarks

Den fullständiga syntaxen för REVOKE-instruktionen är komplex. Syntaxdiagrammet ovan förenklades för att uppmärksamma dess struktur. Fullständig syntax för återkallande av behörigheter för specifika skyddsbara objekt beskrivs i de avsnitt som anges i Säker syntax senare i det här avsnittet.

REVOKE-instruktionen kan användas för att ta bort beviljade behörigheter och DENY-instruktionen kan användas för att förhindra att ett huvudnamn får en specifik behörighet via ett GRANT.

Om du beviljar en behörighet tar du bort NEKA eller ÅTERKALLA behörigheten för den angivna skyddsbara filen. Om samma behörighet nekas med ett högre omfång som innehåller det skyddbara objektet har DENY företräde. Att återkalla den beviljade behörigheten i ett högre omfång har dock inte företräde.

Caution

En nekande på tabellnivå har inte företräde framför ett GRANT på kolumnnivå. Den här inkonsekvensen i behörighetshierarkin har bevarats för bakåtkompatibilitet. Den tas bort i en framtida version.

Den sp_helprotect system lagrade proceduren rapporterar behörigheter på databasnivå som kan säkras

REVOKE-instruktionen misslyckas om CASCADE inte anges när du återkallar en behörighet från ett huvudnamn som har beviljats behörigheten med GRANT OPTION angivet.

Permissions

Huvudnamn med KONTROLL-behörighet för en skyddsbar kan återkalla behörigheten för den skyddsbara filen. Objektägare kan återkalla behörigheter för de objekt de äger.

Beviljare av CONTROL SERVER-behörighet, till exempel medlemmar i den fasta sysadmin-serverrollen, kan återkalla alla behörigheter som kan säkras på servern. Behörighetsbeviljare för CONTROL på en databas, till exempel medlemmar i db_owner fast databasroll, kan återkalla alla behörigheter som kan säkras i databasen. Beviljare av CONTROL-behörighet för ett schema kan återkalla alla behörigheter för alla objekt i schemat.

Securable-specific Syntax

I följande tabell visas de skyddsbara ämnena och de ämnen som beskriver den säkerhetsbara syntaxen.

Securable Topic
Application Role ÅTERKALLA behörigheter för databasens huvudnamn (Transact-SQL)
Assembly ÅTERKALLA sammansättningsbehörigheter (Transact-SQL)
Asymmetric Key ÅTERKALLA asymmetriska nyckelbehörigheter (Transact-SQL)
Availability Group ÅTERKALLA behörigheter för tillgänglighetsgrupp (Transact-SQL)
Certificate ÅTERKALLA certifikatbehörigheter (Transact-SQL)
Contract ÅTERKALLA behörigheter för tjänstkoordinator (Transact-SQL)
Database ÅTERKALLA databasbehörigheter (Transact-SQL)
Endpoint ÅTERKALLA slutpunktsbehörigheter (Transact-SQL)
Databasomfattande autentiseringsuppgifter ÅTERKALLA databasomfattande autentiseringsuppgifter (Transact-SQL)
Full-text Catalog ÅTERKALLA Full-Text behörigheter (Transact-SQL)
Full-Text Stoplist ÅTERKALLA Full-Text behörigheter (Transact-SQL)
Function ÅTERKALLA objektbehörigheter (Transact-SQL)
Login ÅTERKALLA serverhuvudnamnsbehörigheter (Transact-SQL)
Message Type ÅTERKALLA behörigheter för tjänstkoordinator (Transact-SQL)
Object ÅTERKALLA objektbehörigheter (Transact-SQL)
Queue ÅTERKALLA objektbehörigheter (Transact-SQL)
Fjärrtjänstbindning ÅTERKALLA behörigheter för tjänstkoordinator (Transact-SQL)
Role ÅTERKALLA behörigheter för databasens huvudnamn (Transact-SQL)
Route ÅTERKALLA behörigheter för tjänstkoordinator (Transact-SQL)
Schema ÅTERKALLA schemabehörigheter (Transact-SQL)
Sök egenskapslista ÅTERKALLA behörigheter för sökegenskapslista (Transact-SQL)
Server ÅTERKALLA serverbehörigheter (Transact-SQL)
Service ÅTERKALLA behörigheter för tjänstkoordinator (Transact-SQL)
Stored Procedure ÅTERKALLA objektbehörigheter (Transact-SQL)
Symmetric Key ÅTERKALLA symmetriska nyckelbehörigheter (Transact-SQL)
Synonym ÅTERKALLA objektbehörigheter (Transact-SQL)
System Objects ÅTERKALLA systemobjektbehörigheter (Transact-SQL)
Table ÅTERKALLA objektbehörigheter (Transact-SQL)
Type ÅTERKALLA typbehörigheter (Transact-SQL)
User ÅTERKALLA behörigheter för databasens huvudnamn (Transact-SQL)
View ÅTERKALLA objektbehörigheter (Transact-SQL)
XML-schemasamling ÅTERKALLA XML-schemainsamlingsbehörigheter (Transact-SQL)

Examples

A. Bevilja och återkalla

Gäller för: SQL Server, SQL Database

I följande exempel skapas ett schema, en innesluten databasanvändare och en ny roll i en användardatabas. Den lägger till användaren i rollen, ger SELECT-behörighet i schemat till rollen och tar sedan bort (REVOKE) behörigheten till rollen.

CREATE SCHEMA Sales;  
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe; 
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
 

See Also

behörighetshierarki (databasmotor)
DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)