Udostępnij za pośrednictwem


Udzielanie uprawnień w procedurze składowanej

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

W tym artykule opisano sposób udzielania uprawnień do procedury składowanej w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL. Uprawnienia można przyznać istniejącemu użytkownikowi, roli bazy danych lub roli aplikacji w bazie danych.

Ograniczenia i ograniczenia

  • Nie można użyć programu SQL Server Management Studio, aby udzielić uprawnień do procedur systemowych lub funkcji systemowych. Zamiast tego użyj uprawnień obiektu GRANT (Transact-SQL).

uprawnienia

Podmiot przyznający (lub główny podmiot określony opcją AS) musi posiadać samo uprawnienie GRANT OPTIONalbo wyższe uprawnienie, które zawiera w sobie przyznanie tego uprawnienia. Wymaga uprawnienia ALTER do schematu, do którego należy procedura, lub uprawnienia CONTROL do procedury. Aby uzyskać więcej informacji, zobacz GRANT object permissions.

Korzystanie z programu SQL Server Management Studio

Aby udzielić uprawnień do procedury składowanej

  1. W Eksploratorze Obiektów połącz się z instancją silnika bazy danych, a następnie ją rozwiń.

  2. Rozwiń Databases, otwórz bazę danych, do której przypisana jest procedura, a następnie rozwiń Programmability.

  3. Rozwiń Procedury składowane, kliknij prawym przyciskiem myszy procedurę, której chcesz udzielić uprawnień, a następnie wybierz pozycję Właściwości.

  4. W właściwości procedury składowanejwybierz stronę Uprawnienia.

  5. Aby udzielić uprawnień użytkownikowi, roli bazy danych lub roli aplikacji, wybierz Wyszukaj.

  6. W Wybierz użytkowników lub role, wybierz Typy obiektów, aby dodać lub usunąć wybranych użytkowników i role.

  7. Wybierz pozycję Przeglądaj, aby wyświetlić listę użytkowników lub ról. Wybierz użytkowników lub role, którym należy przyznać uprawnienia.

  8. W tabeli Jawne uprawnienia wybierz uprawnienia do przyznania określonemu użytkownikowi lub roli. Aby uzyskać opis uprawnień, zapoznaj się z Uprawnienia (Silnik bazy danych).

Wybranie Grant wskazuje, że beneficjent otrzyma określone uprawnienie. Wybranie Grant With wskazuje, że granteer będzie mógł również udzielić określonego uprawnienia innym podmiotom zabezpieczeń.

Użyj Transact-SQL

Aby udzielić uprawnień do procedury składowanej

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku Standard wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie udzielono uprawnień EXECUTE do procedury składowanej HumanResources.uspUpdateEmployeeHireInfo roli aplikacyjnej o nazwie Recruiting11.

USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
    TO Recruiting11;
GO

Aby udzielić uprawnień do wszystkich procedur składowanych w schemacie

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku standardowym wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie przyznano uprawnienia EXECUTE do wszystkich procedur składowanych w schemacie HumanResources, które istnieją lub będą istnieć, dla roli aplikacji nazwanej Recruiting11.

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