Crear en SQL Server un rol adicional para ejecutar stored procedures

No replies
Imagen de carlos
Offline
Joined: 28/12/2005
Puntos: 1586

Cómo crear un rol en SQL Server para poder dar a los usuarios fácilmente permisos para ejecutar stored procedures.

En SQL Server no existe un rol predefinido para que un usuario pueda ejecutar stored procedures, aparte del db_owner.

Si se trabaja con stored procedures y se quiere permitir a usuarios que no tengan porqué ser owners de una base de datos ejecutar procedimientos almacenados de la misma, se puede crear un rol específico con un grant de permisos de ejecución 'EXECUTE'.

Así después sólo hay que asignar ese rol a los usuarios que tengan que ejecutar stored procedures de una base de datos.

 

Es tan fácil como hacer algo así:

-- Crea un nuevo rol para ejecutar stored procedures
CREATE ROLE db_execute

-- Asigna permisos de ejecución de procedimientos almacenados al rol
GRANT EXECUTE TO db_execute

-- Agrega un usuario al recién creado rol db_execute role
EXEC sp_addrolemember 'db_execute', 'usuario'

Después de esto 'usuario' ya podrá ejecutar stored procedures de la base de datos en la que se ha creado el rol aunque no sea 'db_owner' de esa base de datos..

 

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.

Si no estás registrado recuerda que tu comentario entrará en una cola de aprobación.

Más información sobre opciones de formato

Enviando este formulario, acepta la política de privacidad de Mollom.

 



 

  BI   |    CRM     |    CMS    |    Tendencias en software empresarial    |    Cloud computing  |    Software libre    |   Internet    |    Movilidad y apps