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
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Odmítne oprávnění k objektu zabezpečení. Zabrání objektu zabezpečení v dědění oprávnění prostřednictvím jeho členství ve skupině nebo rolích. DenY má přednost před všemi oprávněními, s tím rozdílem, že DENY se nevztahuje na vlastníky objektů nebo členy pevné role serveru správce systému. Poznámka k zabezpečení Členové pevné role serveru sysadmin a vlastníci objektů nemohou být odepřena oprávnění."
Syntax
Syntaxe pro SQL Server, Azure SQL Database a databázi SQL Fabric
-- Simplified syntax for DENY
DENY { ALL [ PRIVILEGES ] }
| <permission> [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ <class> :: ] securable ]
TO principal [ ,...n ]
[ CASCADE] [ AS principal ]
[;]
<permission> ::=
{ see the tables below }
<class> ::=
{ see the tables below }
Syntaxe pro Azure Synapse Analytics a paralelní datový sklad a sklad Microsoft Fabric
DENY
<permission> [ ,...n ]
[ ON [ <class_> :: ] securable ]
TO principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
ALL
Tato možnost nezamítá všechna možná oprávnění. Odepření funkce ALL je ekvivalentem zamítnutí 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 DENY 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 odepřít 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í k zabezpečitelným objektům jsou popsána v následujících dílčích tématech.
column
Určuje název sloupce v tabulce, u kterého jsou oprávnění odepřena. Jsou vyžadovány závorky ().
class
Určuje třídu zabezpečitelné, pro kterou je oprávnění odepřeno. Kvalifikátor oboru :: je povinný.
securable
Určuje zabezpečitelný, na kterém je oprávnění odepřeno.
TO ředitel
Je název objektu zabezpečení. Objekty zabezpečení, u kterých se dají zabezpečitelná oprávnění odepřít, se liší v závislosti na zabezpečitelném objektu. Platná kombinace najdete v níže uvedených tématech věnovaných zabezpečitelným konkrétním účelům.
CASCADE
Označuje, že oprávnění je odepřeno zadanému objektu zabezpečení a všem ostatním objektům zabezpečení, kterým objekt zabezpečení udělil oprávnění. Vyžaduje se, pokud má objekt zabezpečení oprávnění s možností GRANT OPTION.
AS ředitel
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í.
Pomocí klauzule instančního objektu AS uveďte, že objekt zabezpečení zaznamenaný jako denátor oprávnění by měl být jiným objektem než osoba provádějící příkaz. Například předpokládáme, že uživatel Mary je principal_id 12 a uživatel Raul je instanční 15. Mary spustí DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nyní tabulka sys.database_permissions bude indikovat, že grantor_principal_id příkazu odepřít bylo 15 (Raul), i když byl příkaz skutečně proveden uživatelem 13 (Mary).
Použití AS v tomto prohlášení neznamená schopnost zosobnit jiného uživatele.
Remarks
Úplná syntaxe příkazu DENY je složitá. Výše uvedený diagram syntaxe byl zjednodušen tak, aby upoutat pozornost na jeho strukturu. Úplná syntaxe pro odepření oprávnění u konkrétních zabezpečitelných objektů je popsaná v níže uvedených tématech.
Deny selžou, pokud se při odepření oprávnění k objektu zabezpečení, kterému bylo uděleno oprávnění se zadaným parametrem GRANT OPTION, nezdaří.
Systémová uložená procedura sp_helprotect hlásí oprávnění k zabezpečitelné úrovni databáze.
V Microsoft Fabric nelze v současné době explicitně spustit příkaz CREATE USER. Po spuštění grantu nebo zamítnutí se uživatel vytvoří automaticky.
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.
Caution
Odepření oprávnění CONTROL v databázi implicitně odmítne oprávnění CONNECT pro databázi. Objekt zabezpečení, který je odepřen oprávnění CONTROL pro databázi, se k této databázi nebude moct připojit.
Caution
Odepření oprávnění CONTROL SERVER implicitně odmítne oprávnění CONNECT SQL na serveru. Objekt zabezpečení, který je odepřen oprávnění CONTROL SERVER na serveru, se nebude moct k danému serveru připojit.
Permissions
Volající (nebo objekt zabezpečení zadaný možností AS) musí mít buď oprávnění CONTROL k zabezpečitelnému, nebo vyšší oprávnění, které implikuje oprávnění CONTROL k zabezpečitelnému. Pokud používáte možnost AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, ke kterému je oprávnění odepřeno.
Udělení oprávnění CONTROL SERVER, jako jsou členové pevné role serveru správce systému, mohou odepřít 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 odepřít všechna oprávnění k jakémukoli zabezpečitelnému v databázi. Udělení oprávnění CONTROL schématu může odepřít jakékoli oprávnění k libovolnému objektu ve schématu. Pokud se použije klauzule AS, musí zadaný objekt zabezpečení vlastnit zabezpečitelné, na kterém jsou oprávnění odepřena.
Examples
V následující tabulce jsou uvedeny zabezpečitelné položky a témata, která popisují syntaxi specifickou pro zabezpečitelnou.
Viz také
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)