第3章管理安全性(架构)服务器登录名,指有权限登录到某服务器的用户;服务器角色,指一组固定的服务器用户,默认有9组;登录名一定属于某些角色,默认为public服务器角色不容许更改登录后也不一定有权限操作数据库数据库用户,指有权限能操作数据库的用户;数据库角色,指一组固定的有某些权限的数据库角色;数据库架构,指数据库对象的容器;数据库用户对应于服务器登录名以便登录者可以操作数据库数据库角色可以添加,可以定制不同权限数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象而通过下图可以让这些概念清晰一些: 即:服务器登录名属于某组服务器角色;服务器登录名需要于数据库的用户映射后才拥有操作数据库的权限数据库用户属于某组数据库角色以获取操作数据库的权限数据库角色拥有对应的数据库架构,数据库用户可以通过角色直接拥有架构数据库用户有默认架构,写SQL语句可以直接以“对象名”访问非默认架构则要以“”访问架构架构是形成单个命名空间的数据库实体的集合,是数据库级的对象,是数据库对象的容器。Sqlserver完全限定的对象名称现在包含四部分:。例如,为了避免名称冲突,同一架构中不能有两个同名的表。两个表只有在位于不同的架构中时才可以同名。将架构与数据库用户分离对管理员和开发人员而言有下列好处:1、多个用户可以通过角色成员身份或Windows组成员身份拥有一个架构。这扩展了允许角色和组拥有对象的用户熟悉的功能。2、极大地简化了删除数据库用户的操作。3、删除数据库用户不需要重命名该用户架构所包含的对象。因而,在删除创建架构所含对象的用户后,不再需要修改和测试显式引用这些对象的应用程序。4、多个用户可以共享一个默认架构以进行统一名称解析。5、开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专门创建的架构中,而不是DBO架构中。默认架构:在SQLServer2008中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用CREATEUSER和ALTERUSER的DEFAULT_SCHEMA选项设置和更改默认架构。如果未定义DEFAULT_SCHEMA,则数据库用户将把DBO作为其默认架构用户的默认架构:数据库用户在该数据库中所创建的对象,在默认情况下所属的架构。架构的所有者:拥有和管理该架构的数据库用户,数据库中的对象归属为架构,而架构由数据库用户来进行管理因此,新建一个非SA账户并建立数据库的过程可以如下:1、新建登录名Login12、新建数据库DB13、新建DB1的架构Schema1 4、新建D1的用户User1,登录名对应Login1,默认架构选择Schema1,角色选择db_owner 5、在登录名Login1的属性窗口里选择“用户映射”,勾选DB1,在用户里填写User1,默认架构选择"Schema1" 6、至此,,其他对象也如此 7、当然还可以新建其他架构的对象Schema2,只有User1拥有该架构,一样可以访问,,当为登录映射数据库用户的时候,多个数据库可以有相同名称的用户,而单独为某个数据库新建的用户,如User1,则在其他数据库里不允许同名。课堂练****
管理安全性(三) 来自淘豆网www.taodocs.com转载请标明出处.