ver resueltos procedimientos procedimiento permisos parametros para los ejercicios ejemplo ejecutar como almacenados almacenado sql-server-2008

sql-server-2008 - resueltos - procedimiento almacenado sql server ejemplo



GRANT EJECUTAR a todos los procedimientos almacenados (3)

Además de las respuestas anteriores, me gustaría agregar:

Es posible que desee otorgar esto a un rol en su lugar, y luego asignar el rol a los usuarios.

CREATE ROLE [myAppRights] GRANT EXECUTE TO [myAppRights]

hace eso.

Si quieres hacerlo en el 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 ).

De esta manera, solo tiene que hacerlo una vez y puede asignar / revocar fácilmente todos los derechos de las aplicaciones relacionadas a / desde un usuario si necesita cambiar eso más adelante, especialmente útil si desea crear perfiles de acceso más complejos.

¿El siguiente comando efectivamente otorga al usuario, el permiso "MyUser", la capacidad de ejecutar TODOS los procedimientos almacenados en la base de datos?

GRANT EXECUTE TO [MyDomain/MyUser]


SQL Server 2005 introdujo la capacidad de otorgar permisos de ejecución de base de datos a un principio de base de datos, tal como lo describió:

GRANT EXECUTE TO [MyDomain/MyUser]

Eso otorgará permiso en el ámbito 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]


SQL Server 2008 y superior:

/* CREATE A NEW ROLE */ CREATE ROLE db_executor /* GRANT EXECUTE TO THE ROLE */ GRANT EXECUTE TO db_executor

Para solo un usuario (no un rol):

USE [DBName] GO GRANT EXECUTE TO [user]