SQL Server - Permisos de Ejcucion -- Trigger

 
Vista:

Permisos de Ejcucion -- Trigger

Publicado por kpocha (1 intervención) el 26/11/2007 16:28:41
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 cree.
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder