Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Permisos de Ejecucion--Trigger

Estas en el tema de Permisos de Ejecucion--Trigger en el foro de SQL Server en Foros del Web. Hola!! Tengo el siguiente problema: he creado una base de datos (mediante el usuario Administrador que trae por default el sistema) de nombre "COLUY" con ...
  #1 (permalink)  
Antiguo 26/11/2007, 09:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 16 años, 5 meses
Puntos: 0
Permisos de Ejecucion--Trigger

Hola!!
Tengo el siguiente problema: he creado una base de datos (mediante el usuario Administrador que trae por default el sistema) de nombre "COLUY" con los siguientes usuarios y roles:

Use COLUY;

Create role Proveedor;

Grant Select On Persona_Fisica To Proveedor;

Create Login Abastecedor With Password = "Abastecedor1";

Create User Abastecedor For Login Abastecedor With Default_Schema = COLUY;

Exec sp_addrolemember N"Proveedor", N"Abastecedor";



---------------------------------

Create role Administrativo;

Grant Select, Insert, Update On Persona_Fisica To Administrativo;

Create Login Administrador With Password = "Administrador1";

Create User Administrador For Login Administrador With Default_Schema = COLUY;

Exec sp_addrolemember N"Administrativo", N"Administrador";

---------------------------------

Create role Gerente;

Grant Select, Insert, Update, Delete On Persona_Fisica To Gerente With Grant Option;

Create Login Manager With Password = "Manager1";

Create User Manager For Login Manager With Default_Schema = COLUY;

Exec sp_addrolemember N"Gerente", N"Manager";
----------------------------
Además cree un Trigger en la tabla Persona_Fisica (esto lo hice con el Administrador que trae por default el sistema)



IF EXISTS (SELECT name

FROM sysobjects

WHERE name = N"edad"

AND type = "TR")

DROP TRIGGER edad

GO

CREATE TRIGGER edad
on dbo.Persona_Fisica

FOR INSERT, UPDATE

AS

DECLARE @Fecha datetime

SET @Fecha=(Select fnacimiento from INSERTED i)

IF (DATEDIFF(dd, @Fecha, GetDate())/365) < 18

Begin

RAISERROR("La Persona Fisica debe ser mayor de 18 años",16,1);

ROLLBACK TRANSACTION

End
----------------------------------------------------
El trigger funciona (si me conecto como Administrador de la base de datos). Y los roles con sus respectivos usuarios tambien andan y me permiten conectarme a la base de datos que creé.
El problema reside en que al conectarme como alguno de los tres usuarios que creé los desencadenadores no funcionan, e incluso si voy al explorador de objetos, y alli a la carpeta de desencadenadores aparece el trigger con un "candado" sobre el iconito.
Cuando realizo un INSERT me lanza un error y me dice que no tengo permiso de EJECUCION.
Probe de darle permisos de ejecucion a los Roles, a los usuarios, pero nada..... todo ha sido inutil.
Estoy usando SQL Server 2005 Express
Si alguien me puede dar una mano se lo agradezco, lo preciso para un Obligatorio que tengo que entregar.
Desde ya, muchas gracias
  #2 (permalink)  
Antiguo 29/11/2007, 10:40
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 7 meses
Puntos: 3
Re: Permisos de Ejecucion--Trigger

Hola, si pruebas con:
Grant Select, Insert, Update, Execute On Persona_Fisica To Administrativo
?

saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #3 (permalink)  
Antiguo 30/11/2007, 14:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Permisos de Ejecucion--Trigger

HOLA:
Mira, probe eso que me dijiste pero no funciona, da un error:

Mensaje 4606: "El privilegio concedido o revocado EXECUTE no es compatible con el objeto".

Seguire provando y cualquier cosa les cuento.

Saludos
  #4 (permalink)  
Antiguo 30/11/2007, 14:43
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Permisos de Ejecucion--Trigger

el permiso de Ejecutar (Execute) no se puede conceder a una tabla...

Se aplica por ejemplo a los Stored Procedures, para que puedas Ejecutar un Stored Procedure.

Para la tabla seria solo el select (seleccionar), Update (Actualizar), e Insert (insertar) registros de la tabla...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 01/12/2007, 19:12
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 7 meses
Puntos: 3
Re: Permisos de Ejecucion--Trigger

Entonces debería asociarlo al trigger?
saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.