none
Problemas con Trigger RRS feed

  • Pregunta

  • Estimados.

    Tengo un SP que realiza un UPDATE en una tablla que llamare  A

    Dicha tabla tiene un Trigger que hace una inservcion a A_Historico

    El usuario PEPE pertenece al ROl datareader y a datawirter

    El problema es que cuando ejecuto el Sp se cae con este error:

    Cannot find the object "A_Historico" because it does not exist or you do not have permissions.

    Saludos.


    DBA SQL Server Santiago/Chile

    martes, 12 de junio de 2018 19:15

Todas las respuestas

  • Hola CMAPM:

    He intentado seguir todo tu desarrollo pero no consigo exactamente esa denegación por el rol.

    USE [foros]
    GO
    CREATE TABLE [dbo].[prA](
    	[id] [int] IDENTITY(1,1) NOT NULL,
    	[num] [int] NULL
    ) ON [PRIMARY]
    
    GO
    
    CREATE TABLE [dbo].[prAHist](
    	[id] [int] IDENTITY(1,1) NOT NULL,
    	[idA] [int] NULL,
    	[num] [int] NULL,
    PRIMARY KEY CLUSTERED 
    (
    	[id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO
    
    create trigger [dbo].[tr_aHis] on [dbo].[prA]
    after update
    as
    insert into prAHist select * from inserted
    
    GO
    
    ALTER TABLE [dbo].[prA] ENABLE TRIGGER [tr_aHis]
    GO
    
    USE [master]
    GO
    CREATE LOGIN [pruebaLector2] WITH PASSWORD=N'pruebaLector2', DEFAULT_DATABASE=[foros], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    USE [foros]
    GO
    CREATE USER [pruebaLector2] FOR LOGIN [pruebaLector2]
    GO
    ALTER ROLE [db_datareader] ADD MEMBER [pruebaLector2]
    GO
    ALTER ROLE [db_datawriter] ADD MEMBER [pruebaLector2]
    GO
    

    No obstante.

    Y sobre los mismos objetos

    Le doy los permisos que me parezcan oportunos.

    Un saludo

    martes, 12 de junio de 2018 19:53