Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
В этой статье описывается предоставление разрешений на хранимую процедуру с помощью SQL Server Management Studio или Transact-SQL. Разрешения можно предоставить существующему пользователю, роли базы данных или роли приложения в базе данных.
Ограничения
- Вы не можете использовать SQL Server Management Studio для предоставления разрешений на системные процедуры или системные функции. Вместо этого используйте разрешения объекта GRANT (Transact-SQL ).
Разрешения
Грантодатель (или принципал, указанный с параметром AS), должен иметь либо само разрешение с GRANT OPTION, либо более высокое разрешение, подразумевающее предоставление данного разрешения. Требуется ALTER разрешение на схему, к которой принадлежит процедура, или CONTROL разрешение на процедуру. Дополнительные сведения см. в разделе Grant object permissions (Transact-SQL).
Использование SQL Server Management Studio
Предоставление разрешений на хранимую процедуру
В Обозревателе объектов подключитесь к экземпляру СУБД, а затем разверните этот экземпляр.
Последовательно разверните узел Базы данных, базу данных, к которой принадлежит процедура, и узел Программирование.
Разверните узел Хранимые процедуры, щелкните правой кнопкой мыши процедуру для предоставления разрешений и выберите Свойства.
В пункте Свойства хранимой процедурывыберите страницу Разрешения .
Для предоставления разрешений пользователю, роли базы данных или роли приложения нажмите Поиск.
В пункте Выбрать пользователей или ролей нажмите Типы объектов для добавления или исключения необходимых пользователей и ролей.
Нажмите кнопку Обзор, чтобы показать список пользователей или ролей. Выберите пользователей или роли, которым следует предоставить разрешения.
В сетке Явно указанные разрешения выберите разрешения для предоставления определенному пользователю или роли. Описание разрешений см. в разделе "Разрешения" (ядро СУБД).
Выбор Предоставить означает, что получателю разрешения предоставляется указанное разрешение. Выбор Grant With означает, что получатель также может предоставить указанное разрешение другим принципалам.
Использование Transact-SQL
Предоставление разрешений на хранимую процедуру
Подключитесь к движку СУБД.
На панели инструментов выберите "Создать запрос".
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере предоставляется разрешение
EXECUTEна хранимую процедуруHumanResources.uspUpdateEmployeeHireInfoроли приложения с именемRecruiting11.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Предоставление разрешений для всех хранимых процедур в схеме
Подключитесь к движку СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере предоставляется разрешение
EXECUTEвсем хранимым процедурам, которые существуют или будут существовать в схемеHumanResources, к роли приложения с именемRecruiting11.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO