请详细解释下MS SQL 中 Login Name,User,Role,Schema的定义和它们之间的关系?谢谢

解决方案 »

  1.   

    Login Name-->也就是等于User
    User -->由开发人员自己创建用户;sqlserver默认管理员用户sa,他权限最大,什么操作都可以
    Role-->sql server2000有十个角色,一个用户可以授权给多个角色的权限;Schema没用过,是不是相当于job
      

  2.   

    登录名   sa     
      sa登录后拥有服务器角色“system   administrator”的权限(也即最高访问权限)   
        
      对于任意数据库(如master),sa都拥有名为dbo的用户名。   
      dbo用户属于角色public和db_owner,即拥有public和db_owner的所有权限。   
        
      你可以定义一个登录名,该登录名登录后可以通过在不同数据库中的用户名限制他在不同数据库中拥有不同权限。   
      该用户名在某个数据库中从属于某几个角色,通过这几个角色的权限来确定该登录名所拥有的权限。
      

  3.   

    关于Schema
    使用架构规范使数据表,视图,存储过程,函数等数据库内对象有两节名称:   
      SchemaName.ObjectName   
        
      用户账号和架构分离有以下好处   
      1   通过设置架构的拥有者是角色或windos的组,可以让多个帐号同时有权访问该架构。让用户自建对象时,有较大的弹性。而赋予权限时可以在架构级别,也可以在对象自身。   
      2   当删除用户时,不必更改该账户所建立的对象的名称与拥有者。 
      

  4.   


    Login Name不是user,因为每个数据库都可以定义user
    sa不是user,而是login name
    schema是一组对象的集合,而role是拥有进入某些schema的权限的定义,而user是role对象的一个实例
      

  5.   

    schema相等于程序里的命名空间