清风不识字 发表于 2012-4-13 09:59:14

ms sql 权限管理

用户在登录到SQL Server 之后,其安全账号(用户账号)所归属的NT 组或角色所被授予的权限决定了该用户能够对哪些库对象执行哪种操作以及能够、修改哪些。在SQL Server 中包括两种类型的权限,即对象权限和语句权限。
(1) 对象权限
对象权限总是针对表、视图、存储过程而言,它决定了能对表、视图、存储过程执行哪些操作(如UPDATE、 DELETE、 INSERT、 EXECUTE)。如果用户想要对某一对象进行操作,其必须具有相应的操作的权限。例如,当用户要成功修改表中时,则前提条件是他已经被授予表的UPDATE 权限。
不同类型的对象支持不同的针对它的操作例,如不能对表对象执行EXECUTE 操作。我们将针对各种对象的可能操作列举如表14-1 所示:
REFERENCE充许在GRANT、DENY、REVOKE语句中向有外键参照表中插入一行。
(2) 语句权限
语句权限主要指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,如创建库、表、存储过程等。这种语句虽然仍包含有操作如(CREATE)的对象,但这些对象在执行该语句之前并不存在于库中如创建一个表,在CREATE TABLE 语句未成功执行前库中没有该表),所以将其归为语句权限范畴。表14-2 是所有的语句权限清单。
各参数含义说明 ALL
表示具有所有的语句或对象权限。对于语句权限来说,只有sysadmin 角色才具有所有的语句权限;对于对象权限来说,只有sysadmin 和db_owner 角色才具有某一库所有对象的权限。 statement
表示用户具有使用该语句的权限。这些语句包括:
CREATE DATABASE; CREATE DEFAULT; CREATE PROCEDURE CREATE
RULE CREATE TABLE; CREATE VIEW;BACKUP DATABASE; BACKUP LOG WITH GRANT OPTION
表示该权限授予者可以向其它用户授予对象的权限。
REVOKE和DENY语法格式与GRANT语法格式一样。
14.4.2 利用SQL Server Enterprise Manager 管理权限
在SQL Server 中通过两种途径可实现对语句权限和对象权限的管理,从而实现对用户权限的设定。这两种途径分别为面向单一用户和面向库对象两种权限设置。
在SQL Server Enterprise Manager 其执行步骤为:
(1) 启动SQL Server Enterprise Manage, 登录到指定的器。
(2) 展开指定的库,然后单击Users 图标,此时在右窗格中将显示库所有用户。
(3) 在库用户清单中选择要进行权限设置的用户,右击用户名,然后在弹出 菜单中选择Properties, 弹出Database User Properties 对话框,如图14-6 所示。
(4) 在Database User Properties 对话框中单击Permission 按钮,弹出如图14-7 所示的Database User Properties 对话框,在该对话框中进行对象权限设置
(5) 单击确定,完成权限设置。 在图14-6 的对话框中,如果在Database role membership 选项栏中选择任何一个数 据库角色(在缺省条件下,任何库用户都至少是public 角色),实际上就完成了 库用户语句权限的设置。因为对于这些库固定角色,SQL Server 已定义了其 具有哪些语句权限,例如db_owner 具有执行CREATE DATABASE 的语句权限(关于 角色将在下节作详细介绍)。
在图14-7 的用户权限设置对话框中,显示了用户当前库中的所有对象,其中 包括表、视图、存储过程等,同时也给出针对该对象能够进行哪些操作。通过单击其 中的空白方格来完成权限设置。当空白方格内为对号时,表示执行了GRANT 语句, 即用户能够对该对象执行相应的操 作;当空白方格内为错号时,表示执 行了DENY 语句,即禁止对该对象 的相应操作。
通过“List only objects with permissions for this user”,将列出该 用户有权的所有库对象以及 详细的权限设置信息。
在图14-7 的用户权限设置对话 框 ,可以单击Column 按钮,在打开 的Column Permissions 对话框中来决 定用户对哪些列具有哪些权限。如图 14-8 所示。
在SQL Server Enterprise Manager 其执行步骤为:
(1)启动SQL Server Enterprise Manager, 登录到指定器。
(2)展开指定的库,从中选择用户对象(表、视图、存储过程)。
(3) 在右格对话框中选择要进行权限设置的对象,右击该对象。
(4) 在弹出菜单中选择All tasks, 选择Manage Permission, 此时弹出ObjectProperties 对话框。如图14-9 所示。
(5) 设置权限,单击确定。
Object Properties 对话框与Database User Properties 对话框极为相似,在Database User Properties 对话框,我们为某一用户设置其对当前库所有对象的权限;在Object Properties 对话框中,我们为某一库对象设置当前库所有用户对其的权限。
通过“List only User/DB Roles with permissions on this object”,可以列出所有对该对象具有权限的库用户或角色。

页: [1]
查看完整版本: ms sql 权限管理