Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Odmítne oprávnění člena třídy OBJECT zabezpečitelných. Jedná se o členy třídy OBJECT: tabulky, zobrazení, funkce hodnotné tabulkou, uložené procedury, rozšířené uložené procedury, skalární funkce, agregační funkce, fronty služeb a synonyma.
Syntax
DENY <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
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
Určuje oprávnění, které lze odepřít u objektu obsaženého ve schématu. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.
ALL
Odepřít vše neodmítá všechna možná oprávnění. Odepření všech oprávnění ANSI-92 je ekvivalentní zamítnutí všech oprávnění ANSI-92 použitelných pro zadaný 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.
column
Určuje název sloupce v tabulce, zobrazení nebo funkci s hodnotou tabulky, na které je oprávnění odepřeno. 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.
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ě. U SQL Serveru se toto chování liší, pokud je server nakonfigurovaný tak, aby běžel s konfigurací serveru s povolenou kompatibilitou běžných kritérií. To by však mělo být obecně používáno pouze s opatrností, a ne jako obecná praxe.
NA [ OBJEKT :: ] [ schema_name ] .object_name
Určuje objekt, na kterém je oprávnění odepřeno. 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 není zadán schema_name , použije se výchozí schéma. Pokud je zadán schema_name , je vyžadován kvalifikátor oboru schématu (.).
NA <database_principal>
Určuje objekt zabezpečení, ke kterému se oprávnění odepře.
CASCADE
Označuje, že odepření oprávnění je také odepřeno jiným objektům zabezpečení, kterým byl udělen tímto objektem zabezpečení.
DATABASE_PRINCIPAL AS <>
Určuje objekt zabezpečení, ze kterého objekt zabezpečení, který spouští tento dotaz, odvozuje své právo odepřít oprávnění.
Database_user
Určuje uživatele databáze.
Database_role
Určuje roli databáze.
Application_role
Určuje roli aplikace.
Database_user_mapped_to_Windows_User
Určuje uživatele databáze mapované na uživatele systému Windows.
Database_user_mapped_to_Windows_Group
Určuje uživatele databáze mapované na skupinu Windows.
Database_user_mapped_to_certificate
Určuje uživatele databáze mapované na certifikát.
Database_user_mapped_to_asymmetric_key
Určuje uživatele databáze namapovaný na asymetrický klíč.
Database_user_with_no_login
Určuje uživatele databáze bez odpovídajícího objektu zabezpečení na úrovni serveru.
Remarks
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í. Nejpřesnější a omezená oprávnění, která lze u objektu odepřít, jsou uvedena v následující tabulce společně s obecnějšími oprávněními, která je zahrnují implikací.
| Oprávnění objektu | Implicitní oprávnění objektu | Implicitní oprávnění schématu |
|---|---|---|
| ALTER | CONTROL | ALTER |
| 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 |
| UPDATE | CONTROL | UPDATE |
| ZOBRAZIT SLEDOVÁNÍ ZMĚN | CONTROL | ZOBRAZIT SLEDOVÁNÍ ZMĚN |
| ZOBRAZIT DEFINICI | CONTROL | ZOBRAZIT DEFINICI |
Permissions
Vyžaduje oprávnění CONTROL k objektu.
Pokud použijete klauzuli AS, musí zadaný objekt zabezpečení vlastnit objekt, na kterém jsou oprávnění odepřena.
Examples
Následující příklady používají databázi AdventureWorks.
A. Odepření oprávnění SELECT v tabulce
Následující příklad odmítne SELECT oprávnění pro uživatele RosaQdM v tabulce Person.Address.
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B. Odepření oprávnění EXECUTE u uložené procedury
Následující příklad odmítne EXECUTE oprávnění k uložené procedurě HumanResources.uspUpdateEmployeeHireInfo k roli aplikace volaný Recruiting11.
DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C. Odepření oprávnění REFERENCES v zobrazení pomocí CASCADE
Následující příklad odmítne REFERENCES oprávnění ke sloupci BusinessEntityID v zobrazení HumanResources.vEmployee uživateli Wanida s CASCADE.
DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida CASCADE;
GO
Viz také
Oprávnění k objektu GRANT (Transact-SQL)
Oprávnění k objektu REVOKE (Transact-SQL)
zobrazení katalogu objektů (Transact-SQL)
Oprávnění (databázový stroj)
Hlavní subjekty (databázový stroj)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)