Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: NetStorm en 10 Noviembre 2010, 22:17 pm



Título: SQL Server - Procedimientos almacenados y permisos - AYUDA
Publicado por: NetStorm en 10 Noviembre 2010, 22:17 pm
Hola, que tal me he liado de nuevo con los Stored Procedure, pasa que he creado dos procedimientos almacenados, en la base de datos he creado dos usuarios "usuprogramador" y "usuventas" con sus inicios de sesión "Programador" y "Vendedor", hasta allí todo bien ... pero quiero que un procedimiento almacendo lo pueda ejecutar solo el "Programador y el otro procedimiento almacenado lo pueda ejecutar solo el "Vendedor"... ¿es esto posible?, por favor dadme algunas ideas que estoy tirandome del cabello.

Solo he logrado denegarle los permisos de ejecutar pero por completo, y eso no es lo que quiero, sino mas bien indicar que procedimientos puede ejecutar tal o cual usuario.  :¬¬

Saludos...


Título: Re: SQL Server - Procedimientos almacenados y permisos - AYUDA
Publicado por: Novlucker en 11 Noviembre 2010, 01:59 am
Asumo que hablas de sql server.

¿Los tienes con diferentes roles? Para empezar ninguno de ellos puede ser sysadmin ni debería de poder cambiarse los permisos, sino no tiene sentido.
Simplemente cambiar los permisos de usuario desde las propiedades de los procedimientos :P

Saludos


Título: Re: SQL Server - Procedimientos almacenados y permisos - AYUDA
Publicado por: NetStorm en 13 Noviembre 2010, 15:30 pm
Ya he solucionado el asunto, no hay que liarse tanto, pasa que estaba trabajando con una Base de Datos SQL Server Express 2005, en este motor de BD solo se permiten "ejecutar" o "no ejecutar" procedimientos almacenados para un usuario específico, de plano, osea no puedes hacer excepciones con tal o cual procedimiento.

En la versión SQL Server Express 2008 sí que podemos determinar que usuarios pueden ejecutar determinados procedimientos almacenados, o sencillamente quitarle los permisos para ejecutar procedimientos por completo, así de sencillo.

Nada más de hacer clic derecho sobre el procedimiento, <Propiedades>, <Permisos> y agregamos uno a uno los usuarios, finalmente en la parte inferior marcamos los combobox para "Permitir" o "Denegar".

El problema era que la version 2005 de SQl Server no permite esto de manera explícita la versión 2008 si que permite esto y mucho más, me ha gustado.

Tema solucionado y cerrado.  :D