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í k systémovým objektům, jako jsou uložené procedury, rozšířené uložené procedury, funkce a zobrazení.
Syntax
DENY { SELECT | EXECUTE } ON [ sys. ] system_object TO principal
Arguments
[sys. ]
sys Kvalifikátor se vyžaduje jenom v případě, že odkazujete na zobrazení katalogu a zobrazení dynamické správy.
system_object
Určuje objekt, u kterého je oprávnění odepřeno.
principal
Určuje objekt zabezpečení, ze kterého se oprávnění odvolává.
Remarks
Tento příkaz lze použít k odepření oprávnění k určitým uloženým procedurám, rozšířeným uloženým procedurám, skalárním funkcím, skalárním funkcím, zobrazením, zobrazením katalogu, zobrazením kompatibility, zobrazením, INFORMATION_SCHEMA dynamickým zobrazením správy a systémovým tabulkám nainstalovaným SQL Serverem. Každý z těchto systémových objektů existuje jako jedinečný záznam v databázi prostředků (mssqlsystemresource). Databáze prostředků je určená jen pro čtení. Odkaz na objekt se zobrazí jako záznam ve schématu sys každé databáze.
Výchozí překlad názvů překládá nekvalifikované názvy procedur do databáze prostředků. Kvalifikátor se proto vyžaduje jenom v případě, sys že zadáváte zobrazení katalogu a zobrazení dynamické správy.
Caution
Odepření oprávnění pro systémové objekty způsobí selhání aplikací, které na nich závisí. SQL Server Management Studio používá zobrazení katalogu a nemusí fungovat podle očekávání, pokud změníte výchozí oprávnění pro zobrazení katalogu.
Odepření oprávnění pro triggery a sloupce systémových objektů se nepodporuje.
Během upgradů SQL Serveru se zachovají oprávnění k systémovým objektům.
Systémové objekty jsou viditelné v zobrazení katalogu sys.system_objects. Oprávnění k systémovým objektům jsou viditelná v zobrazení katalogu sys.database_permissions v databázi master.
Následující dotaz vrátí informace o oprávněních systémových objektů:
SELECT *
FROM master.sys.database_permissions AS dp
INNER JOIN sys.system_objects AS so
ON dp.major_id = so.object_id
WHERE dp.class = 1
AND so.parent_object_id = 0;
GO
Permissions
Vyžaduje oprávnění CONTROL SERVER.
Examples
Následující příklad odmítne EXECUTE oprávnění xp_cmdshell k veřejnému přístupu.
DENY EXECUTE ON sys.xp_cmdshell TO PUBLIC;
GO
Související obsah
-
Transact-SQL konvence syntaxe (Transact-SQL) - sys.database_permissions
- UDĚLENÍ oprávnění k systémovému objektu (Transact-SQL)
- ODVOLAT oprávnění systémového objektu (Transact-SQL)