sql2008, 授予一个数据库user db_datawriter的角色,然后单独回收某个表的update,insert,delete权限,但貌似没用, 求方法.
EXEC sp_addrolemember N'db_datawriter', N'[loginname]'revoke update ON [dbo].[t1] from [loginname]revoke insert ON [dbo].[t1] from [loginname]-- 然后用loginname登录后还能update和insert

解决方案 »

  1.   


    --弄个不相关的想法。CREATE TABLE [dbo].[CS](
    [id] [int] ,
    [name] [char](20)

    goinsert into cs select 1,'a'
    create trigger test on dbo.cs
    instead of insert,delete,update
    as
    begin
    select 1 from cs where 1<>1
    end
    goinsert into cs select 2,'b'update cs set id=2delete from cs
      

  2.   

     EXEC sp_addrolemember N'db_datawriter', N'[loginname]'
    deny update ON [dbo].[t1] to [loginname]
    deny insert ON [dbo].[t1] to [loginname]
      

  3.   

    這用戶應該還有其它角色權限DENY DELETE ON [dbo].[表名] TO [用户名]--這樣試試