MSSQL SERVER 2005,新建了一个用户,指定了db_datareaderd的角色,这样只能使用Select,但是这个用户还需要具有执行存储过程的权限。这个用户的用途是,程序员在开发软件时使用的,不想让用户具有修改数据库的权限。应该怎么操作

解决方案 »

  1.   

    可以执行Update这个,只是控制不能创建、更新、删除表、视图、存储过程这些。
      

  2.   

    这是权限的有关说明:BUILTIN\Administrators 
    -- 这个是Admin组的权限,默认情况下本地Admin都隶属于这个组,具有比较大的权限, 
    -- 作为Windows集成登录,如果使用的是管理员,就会使用到它, 
    HC811\ASPNET 
    -- 这个是ASPNET应用的访问帐号组, 
    HC811\SQLServer2005MSFTEUser$HC811$MSSQLSERVER 
    -- 这个是全文索引的访问帐号组 
    HC811\SQLServer2005MSSQLUser$HC811$MSSQLSERVER 
    -- 这个是通常的用户访问帐号组 
    HC811\SQLServer2005SQLAgentUser$HC811$MSSQLSERVER 
    -- 这个是Agent用户访问的帐号组 
    NT AUTHORITY\SYSTEM 
    -- 这个是NT授权帐号组 
    sa 
    -- 这个是超级用户,就不用说了吧 
      

  3.   

    执行存储过程必须和Create、alter、drop同时存在吗,不能可以执行存储过程,而不能Create吗
      

  4.   

    因为在存储过程可以Create、alter、drop.所以你的需求是不是矛盾的?
      

  5.   

    存储过程是自己编写的,里面没有Create、alter、drop这些语句。或者,应该如何分配软件程序员对数据库的操作权限呢。
      

  6.   

    SQL SERVER 没有这么智能哦