SQL Server对象许可保证了用户必须要有相应的权限才可以对数据库对象进行操作,下面就为您介绍SQL Server对象许可管理的知识,供您参考。
许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQL Server之后,其用户帐号所归属的NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统,在SQL Server中包括三种类型的许可:即SQL Server对象许可,语句许可和预定义许可。
SQL Server对象许可表示对特定的数据库对象(即表、视图、字段和存储过程)的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。如果用户想要对某一对象进行操作,其必须具有相应的操作的权限。表和视图许可用来控制用户在表和视图上执行SELECT,UPDATE和REFERENCES操作的能力。存储过程许可用来控制用户执行EXECUTE语句的能力。
语句许可表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可。这些语句通常是一些具有管理性的操作,如创建数据库、表和存储过程等。这种语句虽然仍包含有操作的对象,但这些对象在执行该语句之前并不存在于数据库中。因此,语句许可针对的是某个SQL语句,而不是数据库中已经创建的特定的数据库对象。只有sysadmin,db-owner和db-securityadmin角色的成员才能授予语句许可,可用于语句许可的Transaction-SQL语句及其含义如下:
Create database:创建数据库;
Create table:创建表;
Create view:创建视图;
Create rule:创建默认;
Create procedure:创建存储过程;
Create index:创建索引;
Backup log:备份事务日志。
预定义许可是指系统安装以后有些用户和角色不必授权就有的许可。其中的角色包括固定服务器角色和固定数据库角色,用户包括数据库对象所有者。只有固定角色或者数据库对象所有者的成员才可以执行某些操作。执行这些操作的许可就称为预定义许可。
许可的管理包括对许可的授权、否定和收回。在SQL Server中,可以使用SQL Server企业管理器和Transaction-SQL语句两种方式来管理许可。
【编辑推荐】