Respuestas:
SQL Server 2008 y superior:
/* CREATE A NEW ROLE */
CREATE ROLE db_executor
/* GRANT EXECUTE TO THE ROLE */
GRANT EXECUTE TO db_executor
Solo para un usuario (no un rol):
USE [DBName]
GO
GRANT EXECUTE TO [user]
user
posible que tenga que estar entre corchetes. Esto fue cierto en mi caso de uso, al menos en parte porque mi usuario tenía un dominio adjunto (es decir, tenía un carácter \). editar: carácter de barra fija sin escape
SQL Server 2005 introdujo la capacidad de otorgar permisos de ejecución de base de datos a un principio de base de datos, como ha descrito:
GRANT EXECUTE TO [MyDomain\MyUser]
Eso otorgará permiso en el alcance de la base de datos, que implícitamente incluye todos los procedimientos almacenados en todos los esquemas. Esto significa que no tiene que otorgar permisos explícitamente por procedimiento almacenado.
También puede restringir otorgando permisos de ejecución de esquema si desea ser más granular:
GRANT EXECUTE ON SCHEMA ::dbo TO [MyDomain\MyUser]
Además de las respuestas anteriores, me gustaría agregar:
Es posible que desee otorgar esto a un rol y luego asignar el rol a los usuarios. Supongamos que ha creado un rol a myAppRights
través de
CREATE ROLE [myAppRights]
entonces puede otorgar derechos de ejecución a través de
GRANT EXECUTE TO [myAppRights]
a ese papel
O, si quieres hacerlo a nivel de esquema:
GRANT EXECUTE ON SCHEMA ::dbo TO [myAppRights]
también funciona (en este ejemplo, el rol myAppRights
tendrá derechos de ejecución en todos los elementos del esquema dbo
después).
De esta manera, solo tiene que hacerlo una vez y puede asignar / revocar todos los derechos de aplicación relacionados fácilmente a / desde un usuario si necesita cambiar eso más adelante, especialmente útil si desea crear perfiles de acceso más complejos.
Nota: Si concede un rol a un esquema, eso afecta también a los elementos que habrá creado más adelante; esto podría ser beneficioso o no dependiendo del diseño que pretendía, así que tenga esto en cuenta.
OTORGAR EJECUTAR A [PAPEL]
Este seguramente ayuda