SQLServer的用户及权限
Sybase中的用户分为两种:SQL服务器用户(登录帐号)和数据库用户。安装完SQL服务器后,系统自动
建立一个SQL服务器用户sa,口令为空,即系统管理员,他对整个系统有操作权,其他用户均由系统管理
员建立。
在SQLServer中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)
DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操
作权利;一般用户对给定的数据库只有被授权的操作权限。
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public。
1、建立SQL服务器用户名(登录帐号)
作为一个用户,为了使用SQLServer,他必须在SQLServer上有一个SQL服务器用户名(登录帐号)。
这个帐号是系统管理员通过sp_addlogin来增加的。
sp_addlogin登录名,口令,库名,语言,全名
例:建立用户zhang,口令为zhangling(最低六位),全名为Zhangling
1>sp_addloginzhang,zhangling,null,null,Zhangling
2>go
3>select*fromsyslogins
4>go
2、增加数据库用户名
同样,为了使用SQLServer上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有
者通过sp_adduser来增加的。数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以
不同。多个用户可以有相同的SQLServer帐户。同样,多个SQLServer帐户可以有相同的数据库名。
sp_adduser登录名,别名,组名
登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库用户组。
例:用户zhang增加为tele114的用户,别名为zhang1,属于用户组china
1>sp_addgroupchina
2>go
1>sp_adduserzhang,zhang1,china
2>go
1>sp_helpuser
2>go
*例:删除别名zhang1,用户组china,登录名zhang
1>usetele114
2>go
3>sp_dropuserzhang1
4>go
5>sp_helpuser
6>go
1>sp_dropgroupchina
2>go
1>sp_helpgroup
2>go
3>usemaster
4>go
5>sp_droploginzhang
6>go
7>select*fromsyslogins
8>go
3、数据库操作授权
grant命令序列to用户名
A.系统管理员可以授予其他用户CREATEDATABASE的权限,使其他用户可以成为数据库所有者。
B.数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有:
lCREATETABLE-------------------建表
lCREATEDEFAULT------------------建缺省
lCREATERULE-------------------建规则
lCREATEPROCedure------------------建存储过程
lCREATEVIEW-------------------建视图
lDUMPDATABASE-------------------备份数据库
lDUMPTRANsaction------------------备份日志
C.数据库对象所有者可以授予其他用户的操作权限有:
lSELECT
lUPDATE
lINSERT
lEXECute
lDELETE
lREFERENCE
例:授予zhang1在数据库tele114上建表,建视图,建存储过程;对表students有select,reference权;
对name,native字段有update权。
1>usetele114
2>go
3>grantcreattable,createprocedure,createviewtozhang1
4>go
5>grantselect,referenceonstudentstozhang1withgrantoption6>go
7>grantupdateonstudents(name,native)tozhang1
8>go
9>sp_helprotect
10>go