分类: Sybase
2008-05-10 22:44:42
在SYBASE数据库中,用户管理是系统管理的一个重要组成部分,但其重要性却往往被人忽视。许多时候,操作数据库的命令不成功常与用户管理有关,而许多误操作命令的发生也可以通过用户管理来避免。因此,弄清用户管理的一些基本概念,对成功进行数据库系统管理有重要的作用。 下面我们将对SYBASE数据库用户的基本概念加以解释说明。 一、SQL SERVER注册用户和数据库用户 刚接触到这两个概念的时候,我们可能会有所混淆,但只要了解SYBASE SQL SERVER的结构后,就会清楚。SYBASE SQL SERVER为一进程,进程本身可管理多个数据库。而有些数据库是相互独立的,有些数据库是可以共用的,如tempdb和sysbsystemprocs数据库。SQL SERVER与本身数据库的关系犹如城市与其中楼房的关系,当进入某一城市时需某一合法的身份,但进入城市的人并非每个楼房都可进入,即使允许进入也不能干某些事。SQL SERVER注册用户与数据库用户关系即是如此。当SQL SERVER创建注册用户后,该用户就能合法进SQL SERVER,该注册用户信息会放在master数据库中的 syslogins表中。但只有注册用户成为某一数据库用户,并且对该用户赋予某些权限时,该注册用户才能在限制条件下使用数据库中的表。 二、SQL SERVER数据库用户分类 在SQL SERVER中用户一般分为以下四种:sa用户、数据库属主、数据库对象属主和数据库普通用户。sa用户在SQL SERVER中为最高等级用户,SQL SERVER中所有命令都可执行。数据库属主(dbo)用户可对本数据库中所有对象(如表、视图、存储过程等)进行操作,一般有三种途径创建:1.为系统管理员的用户;2.系统管理员的用户将创建数据库的权限赋予某个SQL SERVER中注册用户,由该用户进行数据库的创建后,自然形成数据库属主;3.系统管理员的用户创建数据库后,将某个SQL SERVER中注册用户变为数据库的属主。数据库对象属主为创建该对象的用户,在实际的数据库的管理中,一般为数据库属主。数据库普通用户必须在数据库属主对本数据库中某些对象(如表、视图、进程等)赋予某些权限时,才可对本数据库中某些对象进行允许的操作。几者的关系是相互包含的:系统管理员的用户在进入某个数据库后,自然成为该数据库的属主,数据库属主可看作为特殊的数据库普通用户。 三、别名(aliases)与组(group) 别名(aliases)与组(group)在数据库管理中是经常用到的,它能简化数据库用户管理,方便对用户的监控。所谓别名(aliases)即将SQL SERVER中的注册用户以同一个数据库用户的身份来访问数据库,并具有与该用户相同的权限。也就是说,在数据库中只要建立一个数据库用户,对该数据库用户各种操作定义好,并使SQL SERVER 中已经定义好注册用户成为该数据库用户的别名用户后,即拥有与该用户相同的权限。这样一来,注册用户不必成为数据库的用户即可访问数据库,对所有别名用户的权限的控制只需通过对一个数据库用户的控制达到。如:有一SQL SERVER名为TEST.SER,有一名为EXAMPLE的数据库,其中有一名为OK的表,当系统管理员为TEST.SER创建名为JOHN和KATE的注册用户,EXAMPLE的数据库中有一名为OK_SELECT的数据库用户,该数据库用户有对OK表的查询权限。将JOHN和KATE这两个注册用户变为OK_SELECT的别名后,JOHN和KATE即可进入数据库,并拥有与OK_SELECT的数据库用户相同的权限。组(group)为数据库用户的集合,即通过对组(group)的权限的控制达到对该组中数据库用户的控制,但也可对该组中数据库某些用户进行格外的权限控制。在上例中的EXAMPLE的数据库中有一OK_INSERT的组,它对OK的表有插入的权限,数据库中有两个用户:MARRY和KITY,当这两个用户加入到OK_INSERT组后,MARRY和KITY就有对OK表的插入的权限。对MARRY和KITY相同的权限操作可通过对OK_SELECT组的控制可得。而使MARRY对OK表有查询权限,仅对MARRY用户赋权即可。而别名则不行。 四、SYBASE SQL SERVER的角色 一般在管理分工较细的数据库系统中,sa用户往往被分为三种角色:系统管理员角色(SA role)系统安全员角色(SSO role)、操作员角色(OPER role)。sa用户往往被锁住,其权力被以上三种角色所瓜分。这三种角色将分别用不同的数据库注册用户承担。因三种角色任务较多,所以不一一介绍。 SYBASE SQL SERVER 的用户管理是很复杂的,但首先掌握以上的内容,便对掌握SYBASE SQL SERVER的用户管理有了一定的基础。 |