Дает ли следующая команда пользователю "MyUser" разрешение на выполнение ВСЕХ хранимых процедур в базе данных?
GRANT EXECUTE TO [MyDomain\MyUser]
Дает ли следующая команда пользователю "MyUser" разрешение на выполнение ВСЕХ хранимых процедур в базе данных?
GRANT EXECUTE TO [MyDomain\MyUser]
SQL Server 2008 и выше:
/* CREATE A NEW ROLE */
CREATE ROLE db_executor
/* GRANT EXECUTE TO THE ROLE */
GRANT EXECUTE TO db_executor
Только для пользователя (не роли):
USE [DBName]
GO
GRANT EXECUTE TO [user]
user
возможно, должны быть в квадратных скобках. Это было верно в моем случае использования, по крайней мере частично, потому что у моего пользователя был присоединен домен (т. Е. В нем был символ \). редактирование: исправленаВ SQL Server 2005 появилась возможность предоставлять разрешения на выполнение базы данных принципу базы данных, как вы описали:
Это даст разрешение на область базы данных, которая неявно включает все хранимые процедуры во всех схемах. Это означает, что вам не нужно явно предоставлять разрешения для хранимой процедуры.
Вы также можете ограничить, предоставив разрешения на выполнение схемы, если вы хотите быть более детальным:
источник
В дополнение к ответам выше, я хотел бы добавить:
Возможно, вы захотите предоставить это роли , а затем назначить роль пользователю (-ям). Предположим, вы создали роль
myAppRights
черезтогда вы можете дать права на выполнение через
на эту роль.
Или, если вы хотите сделать это на уровне схемы:
также работает (в этом примере роль
myAppRights
будет иметь права на выполнение всех элементов схемыdbo
впоследствии).Таким образом, вам нужно сделать это только один раз, и вы можете легко назначить / отозвать все связанные права приложения для пользователя или от пользователя, если вам потребуется изменить это позже - особенно полезно, если вы хотите создать более сложные профили доступа.
Примечание. Если вы предоставляете роль схеме, которая также влияет на элементы, которые вы создадите позже - это может быть полезно или не зависеть от предполагаемого дизайна, так что имейте это в виду.
источник
ПРЕДОСТАВИТЬ ВЫПОЛНИТЬ [РОЛЬ]
Этот наверняка поможет
источник