REVOKE (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Odebere dříve udělené nebo odepřené oprávnění.

Transact-SQL konvence syntaxe

Syntax

Syntaxe pro SQL Server, Azure SQL Database a databázi SQL Fabric

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

Syntaxe pro Azure Synapse Analytics, paralelní datový sklad a sklad Microsoft Fabric

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

GRANT MOŽNOST PRO
Označuje, že možnost udělit zadané oprávnění bude odvolána. To se vyžaduje při použití argumentu CASCADE.

Important

Pokud má hlavní subjekt specifikované oprávnění bez GRANT této možnosti, samotné oprávnění bude zrušeno.

ALL
Platí pro: SQL Server 2008 (10.0.x) a novější

Tato možnost neodvolá všechna možná oprávnění. Odvolání funkce ALL je ekvivalentní odvolání následujících oprávnění.

  • Pokud je sejiable databáze, ALL znamená BACKUP, LOG, DATABASE, BACKUP, CREATE DATABASE, , CREATE DEFAULT, CREATE FUNCTION, , CREATE PROCEDUREa .CREATE RULECREATE TABLECREATE VIEW

  • Pokud je zabezpečitelná skalární funkce, znamená TO VŠECHNY příkazy EXECUTE a REFERENCES.

  • Pokud je sejiable tabulkově hodnotová funkce, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je zabezpečitelná uložená procedura, znamená to ALL execute.

  • Pokud je jistébná tabulka, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je jijistovatelný pohled, ALL znamená DELETE, INSERT, REFERENCES, SELECT a UPDATE.

Note

Syntax REVOKE ALL je zastaralá. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho odvolat konkrétní oprávnění.

PRIVILEGES
Součástí je dodržování předpisů ISO. Nemění chování funkce ALL.

permission
Je název oprávnění. Platné mapování oprávnění na zabezpečitelné jsou popsána v tématech uvedených v části Syntaxe specifická pro zabezpečitelné dále v tomto tématu.

column
Určuje název sloupce v tabulce, u kterého se odvolají oprávnění. Jsou vyžadovány závorky.

class
Určuje třídu zabezpečitelné, pro kterou je oprávnění odvolána. Kvalifikátor oboru :: je povinný.

securable
Určuje zabezpečitelný, na kterém se oprávnění odvolává.

TO | Instanční objekt FROM
Je název objektu zabezpečení. Objekty zabezpečení, ze kterých se dají odvolat oprávnění k zabezpečitelnému přístupu, se liší v závislosti na zabezpečitelném objektu. Další informace o platných kombinacích najdete v tématech uvedených v části Syntaxe specifická pro zabezpečitelné informace dále v tomto tématu.

CASCADE
Označuje, že oprávnění, která je odvolána, je také odvolána z jiných objektů zabezpečení, ke kterým byl udělen tímto objektem zabezpečení. Když používáte argument CASCADE, musíte zahrnout GRANT i argument OPTION FOR.

Caution

Kaskádové zrušení povolení uděleného S GRANT MOŽNOSTÍ zruší obojí GRANT , i DENY toto oprávnění.

AS ředitel
Pomocí klauzule instančního objektu AS označíte, že odvoláváte oprávnění udělená jiným objektem zabezpečení než vy. Například předpokládáme, že uživatel Mary je principal_id 12 a uživatel Raul je principal_id 15. Mary i Raul udělí uživateli jménem Steven stejné oprávnění. Tabulka sys.database_permissions označuje oprávnění dvakrát, ale každá z nich bude mít jinou grantor_principal_id hodnotu. Mary by mohla odvolat oprávnění pomocí AS RAUL klauzule k odebrání udělení oprávnění Raul.

Použití AS v tomto prohlášení neznamená schopnost zosobnit jiného uživatele.

Remarks

Úplná syntaxe příkazu REVOKE je složitá. Výše uvedený diagram syntaxe byl zjednodušen tak, aby upoutat pozornost na jeho strukturu. Úplná syntaxe pro odvolání oprávnění k určitým zabezpečitelným účelům je popsána v tématech uvedených v části Syntaxe specifická pro zabezpečitelnost dále v tomto tématu.

Příkaz REVOKE lze použít k odebrání udělených oprávnění a příkaz DENY lze použít k tomu, aby objekt zabezpečení nemohl získat konkrétní oprávnění prostřednictvím GRANT.

Udělení oprávnění odebere DENY nebo REVOKE daného oprávnění k danému zabezpečitelnému. Pokud je stejné oprávnění odepřeno ve vyšším rozsahu, který obsahuje zabezpečitelné, má přednost DENY. Odvolání uděleného oprávnění ve vyšším rozsahu však nemá přednost.

Caution

DENY na úrovni tabulky nemá přednost před GRANTna úrovni sloupce . Tato nekonzistence v hierarchii oprávnění byla zachována kvůli zpětné kompatibilitě. V budoucí verzi se odebere.

Systémová uložená procedura sp_helprotect hlásí oprávnění k zabezpečitelné úrovni databáze.

Příkaz REVOKE selže, pokud CASCADE není specifikováno při rušení povolení od principála, kterému bylo toto povolení uděleno s GRANT OPTION specifikováno.

Permissions

Objekty zabezpečení s oprávněním CONTROL pro zabezpečitelné můžou odvolat oprávnění k danému zabezpečitelnému objektu. Vlastníci objektů mohou odvolat oprávnění k objektům, které vlastní.

Udělení oprávnění CONTROL SERVER, jako jsou členové pevné role serveru správce systému, mohou odvolat všechna oprávnění na jakémkoli zabezpečitelném serveru. Udělení oprávnění CONTROL k databázi, jako jsou členové db_owner pevné databázové role, mohou odvolat všechna oprávnění k jakémukoli zabezpečitelnému v databázi. Udělení oprávnění CONTROL schématu může odvolat jakékoli oprávnění k libovolnému objektu v rámci schématu.

Syntax specifická pro zajištění

V následující tabulce jsou uvedeny zabezpečitelné položky a témata, která popisují syntaxi specifickou pro zabezpečitelnou.

Securable Topic
Role aplikace REVOKE Oprávnění k principálu databáze (Transact-SQL)
Assembly REVOKE Povolení k sestavení (Transact-SQL)
Asymetrický klíč REVOKE Asymetrická klíčová oprávnění (Transact-SQL)
Skupina dostupnosti REVOKE Oprávnění skupiny dostupnosti (Transact-SQL)
Certificate REVOKE Oprávnění certifikátů (Transact-SQL)
Contract REVOKE Oprávnění služby Service Broker (Transact-SQL)
Database REVOKE Oprávnění k databázi (Transact-SQL)
Endpoint REVOKE Oprávnění pro koncový bod (Transact-SQL)
Přihlašovací údaje s vymezeným oborem databáze REVOKE Databázové přihlašovací údaje (Transact-SQL)
Katalog v plném textu REVOKE Full-Text Oprávnění (Transact-SQL)
Full-Text Stoplist REVOKE Full-Text Oprávnění (Transact-SQL)
Function REVOKE Oprávnění objektu (Transact-SQL)
Login REVOKE Hlavní oprávnění serveru (Transact-SQL)
Typ zprávy REVOKE Oprávnění služby Service Broker (Transact-SQL)
Object REVOKE Oprávnění objektu (Transact-SQL)
Queue REVOKE Oprávnění objektu (Transact-SQL)
Vazba vzdálené služby REVOKE Oprávnění služby Service Broker (Transact-SQL)
Role REVOKE Oprávnění k principálu databáze (Transact-SQL)
Route REVOKE Oprávnění služby Service Broker (Transact-SQL)
Schema REVOKE Povolení schématu (Transact-SQL)
Seznam vlastností vyhledávání REVOKE Vyhledání oprávnění v seznamu nemovitostí (Transact-SQL)
Server REVOKE Oprávnění serveru (Transact-SQL)
Service REVOKE Oprávnění služby Service Broker (Transact-SQL)
Uložená procedura REVOKE Oprávnění objektu (Transact-SQL)
Symetrický klíč REVOKE Oprávnění symetrického klíče (Transact-SQL)
Synonym REVOKE Oprávnění objektu (Transact-SQL)
Systémové objekty REVOKE Oprávnění systémového objektu (Transact-SQL)
Table REVOKE Oprávnění objektu (Transact-SQL)
Typ REVOKE Oprávnění k typům (Transact-SQL)
User REVOKE Oprávnění k principálu databáze (Transact-SQL)
View REVOKE Oprávnění objektu (Transact-SQL)
Kolekce schémat XML REVOKE Oprávnění ke sběru XML schématu (Transact-SQL)

Examples

A. Udělení a odvolání

Platí pro: SQL Server, SQL Database

Následující příklad vytvoří schéma, uživatele databáze s omezením a novou roli v uživatelské databázi. Přidá uživatele do role, udělí k této roli oprávnění SELECT schématu a pak odebere (REVOKE) toto oprávnění k této roli.

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
 

Viz také

hierarchie oprávnění (databázový stroj)
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)