Stored Procedure para Automatizacion

04/08/2006 - 02:39 por Tavo de la Cruz | Informe spam
Buenas Noches comunidad, quisiera saber si me echan una mano a resolver este
tema que estoy trantando de resolver y en el cual se me esta presentando un
problema.

Quiero crea un Stored Procedure para automatizar el otorgamiento de permisos
de ejecucion sobre algunos objetos de tipo FN. No me pregunten por que pero
asi lo quieren jejeje :). Aqui el codigo.

USE DB
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'SP_GrantExec' AND type = 'P')
DROP PROCEDURE SP_GrantExec
GO
CREATE PROCEDURE SP_GrantExec
AS
DECLARE @USER CHAR(10)
DECLARE @OBJ CHAR(10)
SET @USER5146975 --Estas lineas son solo para probar que al pasar los
SET @OBJ='date2Int'--parametros va a funcionar, no esta incluido en el SP
GRANT EXEC ON @OBJ TO @USER
GO

Aqui el error que obtengo

Server: Msg 170, Level 15, State 1, Line 7
Line 7: Incorrect syntax near '@OBJ'.

Agradecere su valiosa ayuda.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera \(MVP\)
04/08/2006 - 05:01 | Informe spam
Debes ejecutar el GRANT EXEC usando SQL dinámico. Revisa en tus Books Online
el uso de sp_executesql.

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Tavo de la Cruz" wrote in message
news:
Buenas Noches comunidad, quisiera saber si me echan una mano a resolver
este
tema que estoy trantando de resolver y en el cual se me esta presentando
un
problema.

Quiero crea un Stored Procedure para automatizar el otorgamiento de
permisos
de ejecucion sobre algunos objetos de tipo FN. No me pregunten por que
pero
asi lo quieren jejeje :). Aqui el codigo.

USE DB
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'SP_GrantExec' AND type = 'P')
DROP PROCEDURE SP_GrantExec
GO
CREATE PROCEDURE SP_GrantExec
AS
DECLARE @USER CHAR(10)
DECLARE @OBJ CHAR(10)
SET @USER5146975 --Estas lineas son solo para probar que al pasar los
SET @OBJ='date2Int'--parametros va a funcionar, no esta incluido en el SP
GRANT EXEC ON @OBJ TO @USER
GO

Aqui el error que obtengo

Server: Msg 170, Level 15, State 1, Line 7
Line 7: Incorrect syntax near '@OBJ'.

Agradecere su valiosa ayuda.
Respuesta Responder a este mensaje
#2 Tavo de la Cruz
05/08/2006 - 03:20 | Informe spam
Hola Tocayo.

Muchas gracias por el empujon me sirivio de mucho.

Solo que ahora tengo otra duda:

Como puedo ejecutar un SP con unas credenciales distintas a el usuario que
lo esta ejecutando, que me sugieres.

"Gustavo Larriera (MVP)" wrote:

Debes ejecutar el GRANT EXEC usando SQL dinámico. Revisa en tus Books Online
el uso de sp_executesql.

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Tavo de la Cruz" wrote in message
news:
> Buenas Noches comunidad, quisiera saber si me echan una mano a resolver
> este
> tema que estoy trantando de resolver y en el cual se me esta presentando
> un
> problema.
>
> Quiero crea un Stored Procedure para automatizar el otorgamiento de
> permisos
> de ejecucion sobre algunos objetos de tipo FN. No me pregunten por que
> pero
> asi lo quieren jejeje :). Aqui el codigo.
>
> USE DB
> IF EXISTS (SELECT name FROM sysobjects
> WHERE name = 'SP_GrantExec' AND type = 'P')
> DROP PROCEDURE SP_GrantExec
> GO
> CREATE PROCEDURE SP_GrantExec
> AS
> DECLARE @USER CHAR(10)
> DECLARE @OBJ CHAR(10)
> SET @USER5146975 --Estas lineas son solo para probar que al pasar los
> SET @OBJ='date2Int'--parametros va a funcionar, no esta incluido en el SP
> GRANT EXEC ON @OBJ TO @USER
> GO
>
> Aqui el error que obtengo
>
> Server: Msg 170, Level 15, State 1, Line 7
> Line 7: Incorrect syntax near '@OBJ'.
>
> Agradecere su valiosa ayuda.



Respuesta Responder a este mensaje
#3 Gustavo Larriera \(MVP\)
05/08/2006 - 04:03 | Informe spam
Hola Tocayo,

En SS2005 puedes usar comandos como EXECUTE AS 'username' previo a invocar
al procedimiento.

En SS2000, considera usar SETUSER.

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Tavo de la Cruz" wrote in message
news:
Hola Tocayo.

Muchas gracias por el empujon me sirivio de mucho.

Solo que ahora tengo otra duda:

Como puedo ejecutar un SP con unas credenciales distintas a el usuario que
lo esta ejecutando, que me sugieres.

"Gustavo Larriera (MVP)" wrote:

Debes ejecutar el GRANT EXEC usando SQL dinámico. Revisa en tus Books
Online
el uso de sp_executesql.

Gustavo Larriera, MVP
Mentor, Solid Quality Learning
Blog: http://solidqualitylearning.com/blogs/glarriera/


"Tavo de la Cruz" wrote in
message
news:
> Buenas Noches comunidad, quisiera saber si me echan una mano a resolver
> este
> tema que estoy trantando de resolver y en el cual se me esta
> presentando
> un
> problema.
>
> Quiero crea un Stored Procedure para automatizar el otorgamiento de
> permisos
> de ejecucion sobre algunos objetos de tipo FN. No me pregunten por que
> pero
> asi lo quieren jejeje :). Aqui el codigo.
>
> USE DB
> IF EXISTS (SELECT name FROM sysobjects
> WHERE name = 'SP_GrantExec' AND type = 'P')
> DROP PROCEDURE SP_GrantExec
> GO
> CREATE PROCEDURE SP_GrantExec
> AS
> DECLARE @USER CHAR(10)
> DECLARE @OBJ CHAR(10)
> SET @USER5146975 --Estas lineas son solo para probar que al pasar los
> SET @OBJ='date2Int'--parametros va a funcionar, no esta incluido en el
> SP
> GRANT EXEC ON @OBJ TO @USER
> GO
>
> Aqui el error que obtengo
>
> Server: Msg 170, Level 15, State 1, Line 7
> Line 7: Incorrect syntax near '@OBJ'.
>
> Agradecere su valiosa ayuda.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida