SQL Server用户与其权限的介绍


  本文标签:SQL Server用户

  以下的文章主要向大家描述的是SQL Server用户与其权限,我们大家都知道Sybase中的用户主要分为两种:即,SQL服务器用户(登录帐号)与数据库用户  。 安装完SQL服务器后,系统自动建立一个SQL服务器用户sa,口令为空  。

  即系统管理员,他对整个系统有操作权,其他用户均由系统管理员建立  。在SQL Server中有三种特殊的用户:系统管理员、 SQL Server用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户  。

  系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限  。
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public  。

  1、建立SQL服务器用户名(登录帐号)

  作为一个用户,为了使用SQL Server,他必须在SQL Server上有一个SQL服务器 SQL Server用户名(登录帐号)  。这个帐号是系统管理员通过sp_addlogin来增加的  。

sp_addlogin 登录名,口令,库名,语言,全名

  例:建立用户zhang, 口令为zhangling(最低六位),全名为Zhang ling

  1. 1> sp_addlogin zhang,zhangling,null,null,Zhang ling   
  2. 2> go   
  3. 3> select * from syslogins   
  4. 4> go  

  2、增加数据库用户名

  同样,为了使用SQL Server上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有者通过sp_adduser来增加的  。数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以不同  。多个用户可以有相同的SQL Server帐户  。同样,多个SQL Server帐户可以有相同的数据库名  。

  sp_adduser 登录名,别名,组名

  登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库 SQL Server用户组  。
例:用户zhang增加为tele114的用户,别名为zhang1,属于用户组china 

  1. 1>sp_addgroup china )   
  2. 2>go   
  3. 1>sp_adduser zhang,zhang1,china   
  4. 2>go   
  5. 1> sp_helpuser   
  6. 2> go  

  例:删除别名zhang1,用户组china,登录名zhang )

  1. 1> use tele114   
  2. 2> go   
  3. 3> sp_dropuser zhang1   
  4. 4> go   
  5. 5> sp_helpuser   
  6. 6> go   
  7. 1>sp_dropgroup china   
  8. 2>go   
  9. 1> sp_helpgroup   
  10. 2> go   
  11. 3> use master   
  12. 4> go   
  13. 5> sp_droplogin zhang   
  14. 6> go   
  15. 7> select * from syslogins   
  16. 8> go  

  3、数据库操作授权

  grant 命令序列 to 用户名

  A. 系统管理员可以授予其他 SQL Server用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者  。   

  B. 数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有:   

  l CREATE TABLE ------------------- 建表   

  lCREATE DEFAULT ------------------ 建缺省   

  lCREATE RULE ------------------- 建规则   

  lCREATE PROCedure ------------------ 建存储过程   

  lCREATE VIEW ------------------- 建视图   

  lDUMP DATABASE ------------------- 备份数据库   

  lDUMP TRANsaction ------------------ 备份日志    

  C. 数据库对象所有者可以授予其他 SQL Server用户的操作权限有: