Sdílet prostřednictvím


ODVOLÁNÍ (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

MOŽNOST UDĚLENÍ 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á objekt zabezpečení zadané oprávnění bez možnosti GRANT, zruší se oprávnění samotné.

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 zabezpečitelná databáze, ZNAMENÁ TO VŠE ZÁLOHOVACÍ DATABÁZE, PROTOKOL ZÁLOHOVÁNÍ, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE a CREATE VIEW.

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

  • Pokud je zabezpečitelná funkce s hodnotou tabulky, ZNAMENÁ TO VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

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

  • Pokud je zabezpečitelná tabulka, znamená TO VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

  • Pokud je zabezpečitelné zobrazení, znamená to VŠECHNY PŘÍKAZY DELETE, INSERT, REFERENCES, SELECT a UPDATE.

Note

Syntaxe 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í. Při použití argumentu CASCADE musíte také zahrnout argument GRANT OPTION FOR.

Caution

Kaskádové odvolání oprávnění uděleného FUNKCÍ GRANT OPTION odvolá oprávnění GRANT i ODEPŘÍT 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í získal konkrétní oprávnění prostřednictvím grantu.

Udělení oprávnění odebere odepřít nebo ODVOLAT dané oprávnění u zadaného zabezpečitelného oprávnění. 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

Odepření na úrovni tabulky nemá přednost před udělením na ú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 se při odvolání oprávnění z objektu zabezpečení uděleného oprávnění se zadaným parametrem GRANT OPTION nezadá.

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 Oprávnění k objektu zabezpečení databáze REVOKE (Transact-SQL)
Assembly ODVOLAT oprávnění sestavení (Transact-SQL)
Asymetrický klíč Oprávnění asymetrického klíče REVOKE (Transact-SQL)
Skupina dostupnosti ODVOLÁNÍ oprávnění skupiny dostupnosti (Transact-SQL)
Certificate ODVOLÁNÍ oprávnění k certifikátu (Transact-SQL)
Contract ZRUŠIT oprávnění Service Broker (Transact-SQL)
Database ODVOLAT oprávnění k databázi (Transact-SQL)
Endpoint OPRÁVNĚNÍ koncového bodu REVOKE (Transact-SQL)
Přihlašovací údaje s vymezeným oborem databáze Přihlašovací údaje s vymezeným oborem databáze REVOKE (Transact-SQL)
Katalog v plném textu ODVOLAT oprávnění Full-Text (Transact-SQL)
Full-Text Stoplist ODVOLAT oprávnění Full-Text (Transact-SQL)
Function Oprávnění k objektu REVOKE (Transact-SQL)
Login ZRUŠIT Oprávnění Principálu Serveru (Transact-SQL)
Typ zprávy ZRUŠIT oprávnění Service Broker (Transact-SQL)
Object Oprávnění k objektu REVOKE (Transact-SQL)
Queue Oprávnění k objektu REVOKE (Transact-SQL)
Vazba vzdálené služby ZRUŠIT oprávnění Service Broker (Transact-SQL)
Role Oprávnění k objektu zabezpečení databáze REVOKE (Transact-SQL)
Route ZRUŠIT oprávnění Service Broker (Transact-SQL)
Schema Oprávnění ke schématu REVOKE (Transact-SQL)
Seznam vlastností vyhledávání Oprávnění k seznamu vlastností vyhledávání REVOKE (Transact-SQL)
Server ODVOLÁNÍ oprávnění serveru (Transact-SQL)
Service ZRUŠIT oprávnění Service Broker (Transact-SQL)
Uložená procedura Oprávnění k objektu REVOKE (Transact-SQL)
Symetrický klíč ODVOLÁNÍ oprávnění symetrického klíče (Transact-SQL)
Synonym Oprávnění k objektu REVOKE (Transact-SQL)
Systémové objekty ODVOLAT oprávnění systémového objektu (Transact-SQL)
Table Oprávnění k objektu REVOKE (Transact-SQL)
Typ Oprávnění typu REVOKE (Transact-SQL)
User Oprávnění k objektu zabezpečení databáze REVOKE (Transact-SQL)
View Oprávnění k objektu REVOKE (Transact-SQL)
Kolekce schémat XML ODEBRAT Oprávnění 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)
Odepřít (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)