Sdílet prostřednictvím


Udělení oprávnění k uložené proceduře

Platí na:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformový systém (PDW)SQL databáze v Microsoft Fabric

Tento článek popisuje, jak udělit oprávnění k uložené procedurě pomocí aplikace SQL Server Management Studio nebo jazyka 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í

  • 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).

Povolení

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 naleznete v tématu UDĚLENÍ oprávnění objektu (Transact-SQL).

Použití aplikace SQL Server Management Studio

Udělení oprávnění k uložené proceduře

  1. V Průzkumníku objektůse připojte k instanci databázového stroje a poté tuto instanci rozbalte.

  2. Rozbalte Databáze, rozbalte databázi, do které procedura patří, a potom rozbalte Programovatelnost.

  3. 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.

  4. V Vlastnosti uložené proceduryvyberte stránku Oprávnění.

  5. Pokud chcete udělit oprávnění k roli uživatele, databázové role nebo aplikace, vyberte Hledat.

  6. V Vyberte uživatele nebo rolevyberte Typy objektů a přidejte nebo odeberte požadované uživatele a role.

  7. 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í.

  8. 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

  1. Připojte se k databázovému stroji.

  2. Na panelu nástrojů vyberte Nový dotaz.

  3. 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ře HumanResources.uspUpdateEmployeeHireInfo roli aplikace nazvanou Recruiting11.

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

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard vyberte Nový dotaz.

  3. 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ématu HumanResources, roli aplikace s názvem Recruiting11.

USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;
GO