|
SQL的访问控制功能主要是指对用户访问数据的控制。数据库中的数据由多个用户共享,为保证数据库的安全,SQL提供数据控制语句(Data Control Language, DCL)对数据库进行统一的控制管理。
|
|
|
|
权限机制的基本思想是:给用户授予不同类型的权限,在必要时,可以收回授权。使用户能够进行的数据库操作及所操作的数据限定在指定的范围内,禁止用户超越权限对数据库进行非法的操作,从而保证数据库的安全性。在SQL Server中,权限可分为系统权限和对象权限。
|
|
|
|
|
SQL使用GRANT语句为用户授予系统权限,其语法格式为:
|
|
|
|
其语义为:将指定的系统权限授予指定的用户或角色。其中,用户可以是单个或多个,也可以是PUBLIC, PUBLIC代表数据库中的全部用户;WITH GRANT OPTION为可选项,指定后则允许被授权的用户将指定的系统特权或角色再授予其他用户或角色。例如,为用户ZHANGSAN授予CREATE TABLE系统权限的语句如下:
|
|
|
|
|
数据库管理员可以使用REVOKE语句收回权限,其语法格式为:
|
|
|
|
例如,收回用户USER1对C表查询权限的语句如下:
|
|
|
|