Sdílet prostřednictvím


ODEBRAT Oprávnění Objektu (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Odebírá oprávnění k tabulce, pohledu, tabulové funkci, uložené procedurě, rozšířené uložené procedurě, skalární funkci, agregační funkci, frontě služeb nebo synonymu.

Transact-SQL konvence syntaxe

Syntaxe

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login      

Arguments

permission
Specifikuje oprávnění, které lze na objektu obsahujícím schéma zrušit. Seznam oprávnění najdete v sekci Poznámky později v tomto tématu.

ALL
Odebrání VŠECH neznamená odebrání všech možných oprávnění. Zrušení ALL je ekvivalentní odebrání všech oprávnění ANSI-92 vztahujících se na specifikovaný objekt. Význam ALL se liší takto:

Oprávnění skalárních funkcí: EXECUTE, REFERENCES.

Oprávnění funkce s hodnotou tabulky: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Oprávnění uložená procedura: EXECUTE.

Oprávnění tabulky: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Zobrazit oprávnění: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

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

sloupce
Specifikuje název sloupce v tabulce, zobrazení nebo tabulce hodnotové funkce, na kterou je oprávnění odebíráno. Jsou vyžadovány závorky (). Ve sloupci je možné odepřít pouze oprávnění SELECT, REFERENCES a UPDATE. sloupec lze zadat v klauzuli oprávnění nebo za zabezpečitelným názvem.

NA [ OBJEKT :: ] [ schema_name ] . object_name
Specifikuje objekt, na kterém je oprávnění odebíráno. Pokud je zadána schema_name, je fráze OBJECT volitelná. Pokud se použije fráze OBJECT, je vyžadován kvalifikátor oboru (::). Pokud schema_name není specifikováno, použije se výchozí schéma. Pokud je schema_name specifikováno, je vyžadován kvalifikátor rozsahu schématu (.),

{ Z | TO } <database_principal> Specifikuje princip, od kterého je oprávnění odebráno.

MOŽNOST GRANTU
Označuje, že právo udělit stanovené povolení ostatním principálům bude odebráno. Samotné povolení nebude zrušeno.

Důležité

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

CASCADE
Označuje, že povolení, které bylo odebráno, je také odebráno dalším zmocnitelům, kterým bylo tímto zmocnitelem uděleno nebo zamítnuto.

Upozornění

Kaskádové zrušení povolení uděleného S GRANT OPTION odebere jak GRANT, tak DENY toto povolení.

AS <database_principal> Specifikuje princip, ze kterého princip provádějící tento dotaz získává právo povolení odebrat.

Database_user
Specifikuje uživatele databáze.

Database_role
Specifikuje databázovou roli.

Application_role
Specifikuje aplikační roli.

Database_user_mapped_to_Windows_User
Specifikuje uživatele databáze přiřazeného uživateli Windows.

Database_user_mapped_to_Windows_Group
Specifikuje uživatele databáze přiřazeného ke skupině Windows.

Database_user_mapped_to_certificate
Specifikuje uživatele databáze přiřazeného k certifikátu.

Database_user_mapped_to_asymmetric_key
Specifikuje uživatele databáze přiřazeného asymetrickému klíči.

Database_user_with_no_login
Specifikuje uživatele databáze bez odpovídajícího serverového principu.

Poznámky

Informace o objektech jsou viditelné v různých zobrazeních katalogu. Další informace naleznete v tématu Zobrazení katalogu objektů (Transact-SQL).

Objekt je zabezpečitelná na úrovni schématu obsažená schématem, který je jeho nadřazeným objektem v hierarchii oprávnění. Nejspecifičtější a nejomezenější oprávnění, která lze na objektu zrušit, jsou uvedena v následující tabulce spolu s obecnějšími oprávněními, která je zahrnují implicitně.

Oprávnění objektu Implicitní oprávnění objektu Implicitně povoleno schématem
ZMĚNA CONTROL ZMĚNA
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
PŘEVEZMĚTE ODPOVĚDNOST CONTROL CONTROL
Aktualizace CONTROL Aktualizace
ZOBRAZIT SLEDOVÁNÍ ZMĚN CONTROL ZOBRAZIT SLEDOVÁNÍ ZMĚN
ZOBRAZIT DEFINICI CONTROL ZOBRAZIT DEFINICI

Povolení

Vyžaduje oprávnění CONTROL k objektu.

Pokud použijete klauzuli AS, musí objekt, na kterém jsou oprávnění odebírána, vlastnit konkrétní principal.

Examples

A. Odebrání povolení SELECT na tabulce

Následující příklad odebírá SELECT uživateli RosaQdM oprávnění k tabulce Person.Address v databázi AdventureWorks2025 .

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Zrušení povolení EXECUTE na uložené procedurě

Následující příklad ruší EXECUTE oprávnění k uložené procedurě HumanResources.uspUpdateEmployeeHireInfo z aplikační role nazvané Recruiting11.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. Odebrání povolení REFERENCES na zobrazení pomocí CASCADE

Následující příklad odebírá REFERENCES oprávnění na sloupec BusinessEntityID v zobrazení HumanResources.vEmployee od uživatele Wanida s CASCADE.

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Viz také

Oprávnění k objektu GRANT (Transact-SQL)
Odepřít oprávnění objektu (Transact-SQL)
zobrazení katalogu objektů (Transact-SQL)
Oprávnění (databázový stroj)
Hlavní subjekty (databázový stroj)
Securables
sys.fn_vestavěná_oprávnění (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)