Udělení oprávnění k uložené proceduře
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Tento článek popisuje, jak udělit oprávnění k uložené procedurě v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Jazyk Transact-SQL. Oprávnění lze udělit stávajícímu uživateli, databázové roli nebo aplikační roli v databázi.
Omezení a restrikce
- Aplikaci SQL Server Management Studio nemůžete použít k udělení oprávnění k systémovým postupům nebo systémovým funkcím. Místo toho použijte oprávnění k objektu GRANT (Transact-SQL).
oprávnění
Udělovač (nebo hlavní objekt určený pomocí možnosti AS
) musí mít buď samotné oprávnění s GRANT OPTION
, nebo vyšší oprávnění, které předpokládá udělování tohoto oprávnění. Vyžaduje ALTER
oprávnění ke schématu, ke kterému procedura patří, nebo CONTROL
oprávnění k postupu. Další informace najdete v tématu GRANT oprávnění k objektu.
Použití aplikace SQL Server Management Studio
Udělení oprávnění k uložené proceduře
V Průzkumníku objektů se připojte k instanci databázového stroje a pak tuto instanci rozbalte.
Rozbalte Databáze, rozbalte databázi, do které procedura patří, a potom rozbalte Programovatelnost.
Rozbalte Uložené procedury, klepněte pravým tlačítkem myši na proceduru, na kterou chcete udělit oprávnění, a poté vyberte Vlastnosti.
V Vlastnosti uložené proceduryvyberte stránku Oprávnění.
Pokud chcete udělit oprávnění k roli uživatele, databázové role nebo aplikace, vyberte Hledat.
V Vyberte uživatele nebo rolevyberte Typy objektů a přidejte nebo odeberte požadované uživatele a role.
Vyberte Procházet pro zobrazení seznamu uživatelů nebo rolí. Vyberte uživatele nebo role, kterým mají být udělena oprávnění.
V mřížce Explicitní oprávnění vyberte oprávnění, která chcete přiřadit zadanému uživateli nebo roli. Popis oprávnění naleznete v tématu Oprávnění (databázový stroj).
Když vyberete Udělit označíte, že se mu udělí zadané oprávnění. Výběr možnosti Udělení pomocí znamená, že příjemce bude moct udělit také zadané oprávnění jiným objektům zabezpečení.
Použij Transact-SQL
Udělení oprávnění k uložené proceduře
Připojte se k databázovému stroji.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad uděluje oprávnění
EXECUTE
k uložené proceduřeHumanResources.uspUpdateEmployeeHireInfo
roli aplikace nazvanouRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Udělení oprávnění pro všechny uložené procedury ve schématu
Připojte se k databázovému stroji.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad uděluje
EXECUTE
oprávnění ke všem uloženým procedurům, které existují nebo budou existovat ve schématuHumanResources
, roli aplikace s názvemRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO