感觉是public就是默认又查看所有未加密的存储过程一样,郁闷啊public 去不掉的角色.

解决方案 »

  1.   

    不给他exec权限右击存储过程  在exec前面打叉
      

  2.   

    楼主不要砖牛角了,这是SQLSERVER的设计,你可以不让它有执行权限
    但是不可能让它不能查看其代码,可以结帖了.
      

  3.   

    sql2000里我怎么创建一个用户,该角色不能查看储存过程.我的存储过没有加密的?
      

  4.   

    你只要在新建角色中设置拒绝,public中的相应项对于拥有新建角色的用户就会失效
      

  5.   

    在master库新建一角色将sp_helptext 的权限拒绝,分配给guest用户;在当前数据库新建角色拒绝访问syscomments表
    然后将此角色赋于用户
    --如果其他冲突请自行调整权限,前面保证不能用sp_helptext获得内容,后者保证不能直接访问 syscomments得到内容.
      

  6.   

    一种方式,直接将角色设置为拒绝访问,REVOKE相应的权限即可.不让其有执行存储过程的权限.
    另一种方式,把存储过程加密就可以了.
      

  7.   

     to  wgzaaa非常谢谢你,开始没有留意到你经过测试的.非常谢谢了.
    本来我是不想修改系统表的.
    抱歉.