第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1 SQL Server权限管理策略
6.2 用户权限管理第 6章 SQL Server权限管理上一章 返回目录第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1 SQL Server权限管理策略
6.1.1 安全帐户认证
6.1.2 访问许可确认第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1.1 安全帐户认证安全帐户认证是用来确认登录 SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接 SQL Server的权限。 SQL Server 2000提供了两种确认用户的认证模式:
(一) Windows NT认证模式。
(二)混合认证模式。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(一) Windows NT认证模式
SQL Server数据库系统通常运行在 Windows NT
服务器平台上,而 NT作为网络操作系统,本身就具备 管理登 录,验 证用户 合法性 的能力,因此
Windows NT认证模式正是利用了这一用户安全性和帐号管理的机制,允许 SQL Server也可以使用 NT的用户名和口令 。 在这种模式下,用户只需要通过
Windows NT的认证,就可以连接到 SQL Server,而
SQL Server本身也就不需要管理一套登录数据 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(二)混合认证模式混合认证模式允许用户使用 Windows NT安全性或 SQL Server安全性连接到 SQL Server,这就意味着用户可以使用他的帐号登录到 Windows NT,或者使用他的登录名登录到 SQL Server系统。 NT的用户既可以使用 NT认证,也可以使用 SQL Server认证。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页利用企业管理器进行认证模式的设置其主要过程如下:
1,打开企业管理器,用右键单击要设置认证模式的服务器,从快捷菜单中选择,属性 ( properties),
选项,则出现 SQL Server属性对话框 。
2,在 SQL Server属性对话框中选择安全性选项 。
3,在安全性选项栏中,身份验证中可以选择要设置的认证模式,同时审核级别中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等 。
4,在启动服务帐户中设置当启动并运行 SQL
Server时默认的登录者中哪一位用户 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1.2 访问许可确认但是通过认证阶段并不代表用户能够访问 SQL
Server中的数据,同时他还必须通过许可确认 。 用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权限的设置是通过用户帐号来实现的 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2 用户权限管理
6.2.1 服务器登录帐号和用户帐号管理
6.2.2 许可(权限)管理
6.2.3 角色管理第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.1 服务器登录帐号和用户帐号管理
1,SQL Server服务器登录管理
SQL Server有三个默认的用户登录帐号:即 sa、
administrators\builtin和 guest。
2,用户帐号管理第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1.利用企业管理器创建、管理 SQL Server登录帐号其具体执行步骤如下:
(1)打开企业管理器,单击需要登录的服务器左边的,+”号,然后展开安全性文件夹。
( 2 ) 用右键单击登录 ( login) 图标,从快捷菜单中选择新建登录 ( new login) 选项,则出现 SQL
Server登录属性 — 新建登录对话框,如图 6-2所示 。
( 3)在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是 Windows NT认证模式,还是 SQL Server认证模式。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(4)选择服务器角色页框,如图 6-3所示。在服务器角色列表框中,列出了系统的固定服务器角色。
(5)选择数据库访问页框,如图 6-4所示。上面的列表框列出了该帐号可以访问的数据库,单击数据库左边的复选框,表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名。
(6)设置完成后,单击“确定”按钮即可完成登录帐号的创建。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-2 新建登录帐号对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-3 服务器角色对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-4 数据库访问对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页使用 SQL Server的创建登录向导工具创建登录帐号。
其具体操作过程如下:
图 6-5 --图 6-11
第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-5 欢迎使用创建登录向导对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-6 选择身份验证模式对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-7 选择对用户帐号的安全性设置对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-8 输入登录信息对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-9 选择安全性角色对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-10 选择允许登录帐号访问的数据库对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-11 完成创建登录向导对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2.用户帐号管理在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了 Windows NT认证或者
SQL Server认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够访问数据库。
利用企业管理器可以授予 SQL Server登录访问数据库的许可权限。使用它可创建一个新数据库用户帐号 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.2 许可(权限)管理许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。
用户在登录到 SQL Server之后,其用户帐号所归属的 NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统,在 SQL Server中包括三种类型的许可:即对象许可、语句许可和预定义许可。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页三种许可类型
1、对象许可表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。
2、语句许可表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可。
3、预定义许可是指系统安装以后有些用户和角色不必授权就有的许可。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页可用于语句许可的 Transaction_SQL 语句及其含义如下:
Create database:创建数据库
Create table:创建表
Create view:创建视图
Create rule:创建规则
Create default:创建缺省
Create procedure:创建存储过程
Create index:创建索引
Backup database:备份数据库
Backup log:备份事务日志第 6章 SQL Server权限管理上一页 下一页 返回本章首页许可的管理
1,使用 SQL Server 企业管理器管理许可
SQL Server 可通过两种途径:即面向单一用户和面向数据库对象的许可设置,来实现对语句许可和对象许可的管理,从而实现对用户许可的设定。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Transaction_SQL 语句使用 grant,revoke和 deny
三种命令来实现管理权限。
2,使用 Transaction_SQL 语句第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Grant语句其语法形式如下:
(1)对语句的许可
Grant {all|statement[,…n]} to security_account[,…n]
(2)对对象的许可
grant
{
{all [priviledges]|permission[,…n]}
[( column[,…n] ) ] on {table|view}
|on {table|view} [( column[,…n] ) ]
|on {stored_procedure|extended_procedure}
}
to security_account[,…n]
[as {group|role}]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Deny语句其语法形式如下:
(1)否定语句的许可
deny {all|statement[,… n]} to security_account
[,… n]
(2)否定对象的许可
deny
{
{all [priviledges]|permission[,… n]}
[( column[,… n]) ] on {table|view}
|on {table|view} [( column[,… n]) ]
|on {stored_procedure|extended_procedure}
}
to security_account[,… n]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Revoke语句其语法形式如下:
(1)收回语句的许可
revoke {all|statement[,… n]} from security_account
[,… n]
(2)收回对象的许可
revoke [grant option for]
{
{all [priviledges]|permission[,… n]}
[( column[,… n]) ] on {table|view}
|on {stored_procedure|extended_procedure}
}
from security_account[,… n]
[as {group|role}]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.3 角色管理角色是 SQL Server 7.0版本引进的新概念,它代替了以前版本中组的概念。利用角色,SQL Server
管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。 SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1、服务器角色服务器角色是指根据 SQL Server的管理任务,以及这些任务相对的重要性等级来把具有 SQL Server
管理职能的用户划分为不同的用户组,每一组所具有的管理 SQL Server的权限都是 SQL Server内置的,
即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页七种常用的固定服务器角色系统管理员:拥有 SQL Server所有的权限许可 。
服务器管理员:管理 SQL Server服务器端的设置 。
磁盘管理员:管理磁盘文件 。
进程管理员:管理 SQL Server系统进程 。
安全管理员:管理和审核 SQL Server系统登录 。
安装管理员:增加,删除连接服务器,建立数据库复制以及管理扩展存储过程 。
数据库创建者:创建数据库,并对数据库进行修改 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2、数据库角色数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,
这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。 SQL Server提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(1)固定的数据库角色
public:维护全部默认许可 。
db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作 。
db_accessadmin:可以增加或者删除数据库用户,工作组和角色 。
db_addladmin:可以增加,删除和修改数据库中的任何对象 。
db_securityadmin:执行语句许可和对象许可 。
db_backupoperator:可以备份和恢复数据库 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
db_datareader:能且仅能对数据库中的任何表执行 select操作,从而读取所有表的信息 。
db_datawriter:能够增加,修改和删除表中的数据,但不能进行 select操作 。
db_denydatareader:不能读取数据库中任何表中的数据 。
db_denydatawriter:不能对数据库中的任何表执行增加,修改和删除数据操作 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(2)用户自定义角色创建用户定义的数据库角色就是创建一组用户,
这些用户具有相同的一组许可 。 如果一组用户需要执行在 SQL Server中指定的一组操作并且不存在对应的 Windows NT组,或者没有管理 Windows NT用户帐号的许可,就可以在数据库中建立一个用户自定义的数据库角色 。 用户自定义的数据库角色有两种类型:即标准角色和应用程序角色 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页标准角色通过对用户权限等级的认定而将用户划分为不用的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性 。
应用程序角色是一种比较特殊的角色 。 当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时,
就应该考虑使用应用程序角色 。 当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色 。
标准角色和应用程序角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页管理角色的方式
1,使用企业管理器管理角色
2,使用存储过程管理角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1,使用企业管理器管理角色
( 1 ) 管理服务器角色打开企业管理器,展开指定的服务器,单击安全性文件夹,然后单击服务器角色图标,选择需要的选项,根据提示操作 。
( 2 ) 管理数据库角色在企业管理器中,展开指定的服务器以及指定的数据库,然后用右键单击角色图标,从快捷菜单中选择新建数据库角色选项,则出现数据库角色属性 — 新建角色对话框,根据提示即可新建角色 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2,使用存储过程管理角色
(1)管理服务器角色在 SQL Server中,管理服务器角色的存储过程主要有两个:
sp_addsrvrolemember
sp_dropsrvrolemember
第 6章 SQL Server权限管理上一页 下一页 返回本章首页系统存储过程 sp_addsrvrolemember可以将某一登录帐号加入到服务器角色中,使其成为该服务器角色的成员 。 其语法形式如下:
sp_addsrvrolemember login,role
系统存储过程 sp_dropsrvrolemember可以将某一登录者从某一服务器角色中删除,当该成员从服务器角色中被删除后,便不再具有该服务器角色所设置的权限 。
其语法形式如下:
sp_dropsrvrolemember
[@loginame=]’login’,[@rolename=]’role’
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
sp_addrole:用来创建一个新的数据库角色
sp_addrole role,owner
sp_droprole:用于删除一个数据库角色
sp_droprole role
sp_helprole:显示当前数据库所有的数据库角色的所有信息
sp_helprole [‘role’]
sp_addrolemember:向数据库某一角色中添加数据库用户
sp_addrolemember role,security_account
sp_droprolemember:用来删除某一角色的用户
sp_droprolemember role,security_account
sp_helprolemember:用于显示某一数据库角色的所有成员
sp_helprolemember [‘role’]
(2)管理数据库角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Thank you very much!
谢谢您的光临
,
再见
!
下一章
6.1 SQL Server权限管理策略
6.2 用户权限管理第 6章 SQL Server权限管理上一章 返回目录第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1 SQL Server权限管理策略
6.1.1 安全帐户认证
6.1.2 访问许可确认第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1.1 安全帐户认证安全帐户认证是用来确认登录 SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接 SQL Server的权限。 SQL Server 2000提供了两种确认用户的认证模式:
(一) Windows NT认证模式。
(二)混合认证模式。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(一) Windows NT认证模式
SQL Server数据库系统通常运行在 Windows NT
服务器平台上,而 NT作为网络操作系统,本身就具备 管理登 录,验 证用户 合法性 的能力,因此
Windows NT认证模式正是利用了这一用户安全性和帐号管理的机制,允许 SQL Server也可以使用 NT的用户名和口令 。 在这种模式下,用户只需要通过
Windows NT的认证,就可以连接到 SQL Server,而
SQL Server本身也就不需要管理一套登录数据 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(二)混合认证模式混合认证模式允许用户使用 Windows NT安全性或 SQL Server安全性连接到 SQL Server,这就意味着用户可以使用他的帐号登录到 Windows NT,或者使用他的登录名登录到 SQL Server系统。 NT的用户既可以使用 NT认证,也可以使用 SQL Server认证。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页利用企业管理器进行认证模式的设置其主要过程如下:
1,打开企业管理器,用右键单击要设置认证模式的服务器,从快捷菜单中选择,属性 ( properties),
选项,则出现 SQL Server属性对话框 。
2,在 SQL Server属性对话框中选择安全性选项 。
3,在安全性选项栏中,身份验证中可以选择要设置的认证模式,同时审核级别中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等 。
4,在启动服务帐户中设置当启动并运行 SQL
Server时默认的登录者中哪一位用户 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.1.2 访问许可确认但是通过认证阶段并不代表用户能够访问 SQL
Server中的数据,同时他还必须通过许可确认 。 用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权限的设置是通过用户帐号来实现的 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2 用户权限管理
6.2.1 服务器登录帐号和用户帐号管理
6.2.2 许可(权限)管理
6.2.3 角色管理第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.1 服务器登录帐号和用户帐号管理
1,SQL Server服务器登录管理
SQL Server有三个默认的用户登录帐号:即 sa、
administrators\builtin和 guest。
2,用户帐号管理第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1.利用企业管理器创建、管理 SQL Server登录帐号其具体执行步骤如下:
(1)打开企业管理器,单击需要登录的服务器左边的,+”号,然后展开安全性文件夹。
( 2 ) 用右键单击登录 ( login) 图标,从快捷菜单中选择新建登录 ( new login) 选项,则出现 SQL
Server登录属性 — 新建登录对话框,如图 6-2所示 。
( 3)在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是 Windows NT认证模式,还是 SQL Server认证模式。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(4)选择服务器角色页框,如图 6-3所示。在服务器角色列表框中,列出了系统的固定服务器角色。
(5)选择数据库访问页框,如图 6-4所示。上面的列表框列出了该帐号可以访问的数据库,单击数据库左边的复选框,表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名。
(6)设置完成后,单击“确定”按钮即可完成登录帐号的创建。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-2 新建登录帐号对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-3 服务器角色对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-4 数据库访问对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页使用 SQL Server的创建登录向导工具创建登录帐号。
其具体操作过程如下:
图 6-5 --图 6-11
第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-5 欢迎使用创建登录向导对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-6 选择身份验证模式对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-7 选择对用户帐号的安全性设置对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-8 输入登录信息对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-9 选择安全性角色对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-10 选择允许登录帐号访问的数据库对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页图 6-11 完成创建登录向导对话框第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2.用户帐号管理在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了 Windows NT认证或者
SQL Server认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够访问数据库。
利用企业管理器可以授予 SQL Server登录访问数据库的许可权限。使用它可创建一个新数据库用户帐号 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.2 许可(权限)管理许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。
用户在登录到 SQL Server之后,其用户帐号所归属的 NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统,在 SQL Server中包括三种类型的许可:即对象许可、语句许可和预定义许可。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页三种许可类型
1、对象许可表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。
2、语句许可表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可。
3、预定义许可是指系统安装以后有些用户和角色不必授权就有的许可。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页可用于语句许可的 Transaction_SQL 语句及其含义如下:
Create database:创建数据库
Create table:创建表
Create view:创建视图
Create rule:创建规则
Create default:创建缺省
Create procedure:创建存储过程
Create index:创建索引
Backup database:备份数据库
Backup log:备份事务日志第 6章 SQL Server权限管理上一页 下一页 返回本章首页许可的管理
1,使用 SQL Server 企业管理器管理许可
SQL Server 可通过两种途径:即面向单一用户和面向数据库对象的许可设置,来实现对语句许可和对象许可的管理,从而实现对用户许可的设定。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Transaction_SQL 语句使用 grant,revoke和 deny
三种命令来实现管理权限。
2,使用 Transaction_SQL 语句第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Grant语句其语法形式如下:
(1)对语句的许可
Grant {all|statement[,…n]} to security_account[,…n]
(2)对对象的许可
grant
{
{all [priviledges]|permission[,…n]}
[( column[,…n] ) ] on {table|view}
|on {table|view} [( column[,…n] ) ]
|on {stored_procedure|extended_procedure}
}
to security_account[,…n]
[as {group|role}]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Deny语句其语法形式如下:
(1)否定语句的许可
deny {all|statement[,… n]} to security_account
[,… n]
(2)否定对象的许可
deny
{
{all [priviledges]|permission[,… n]}
[( column[,… n]) ] on {table|view}
|on {table|view} [( column[,… n]) ]
|on {stored_procedure|extended_procedure}
}
to security_account[,… n]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Revoke语句其语法形式如下:
(1)收回语句的许可
revoke {all|statement[,… n]} from security_account
[,… n]
(2)收回对象的许可
revoke [grant option for]
{
{all [priviledges]|permission[,… n]}
[( column[,… n]) ] on {table|view}
|on {stored_procedure|extended_procedure}
}
from security_account[,… n]
[as {group|role}]
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
6.2.3 角色管理角色是 SQL Server 7.0版本引进的新概念,它代替了以前版本中组的概念。利用角色,SQL Server
管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。 SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1、服务器角色服务器角色是指根据 SQL Server的管理任务,以及这些任务相对的重要性等级来把具有 SQL Server
管理职能的用户划分为不同的用户组,每一组所具有的管理 SQL Server的权限都是 SQL Server内置的,
即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页七种常用的固定服务器角色系统管理员:拥有 SQL Server所有的权限许可 。
服务器管理员:管理 SQL Server服务器端的设置 。
磁盘管理员:管理磁盘文件 。
进程管理员:管理 SQL Server系统进程 。
安全管理员:管理和审核 SQL Server系统登录 。
安装管理员:增加,删除连接服务器,建立数据库复制以及管理扩展存储过程 。
数据库创建者:创建数据库,并对数据库进行修改 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2、数据库角色数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,
这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。 SQL Server提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(1)固定的数据库角色
public:维护全部默认许可 。
db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作 。
db_accessadmin:可以增加或者删除数据库用户,工作组和角色 。
db_addladmin:可以增加,删除和修改数据库中的任何对象 。
db_securityadmin:执行语句许可和对象许可 。
db_backupoperator:可以备份和恢复数据库 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
db_datareader:能且仅能对数据库中的任何表执行 select操作,从而读取所有表的信息 。
db_datawriter:能够增加,修改和删除表中的数据,但不能进行 select操作 。
db_denydatareader:不能读取数据库中任何表中的数据 。
db_denydatawriter:不能对数据库中的任何表执行增加,修改和删除数据操作 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
(2)用户自定义角色创建用户定义的数据库角色就是创建一组用户,
这些用户具有相同的一组许可 。 如果一组用户需要执行在 SQL Server中指定的一组操作并且不存在对应的 Windows NT组,或者没有管理 Windows NT用户帐号的许可,就可以在数据库中建立一个用户自定义的数据库角色 。 用户自定义的数据库角色有两种类型:即标准角色和应用程序角色 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页标准角色通过对用户权限等级的认定而将用户划分为不用的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性 。
应用程序角色是一种比较特殊的角色 。 当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时,
就应该考虑使用应用程序角色 。 当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色 。
标准角色和应用程序角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页管理角色的方式
1,使用企业管理器管理角色
2,使用存储过程管理角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页
1,使用企业管理器管理角色
( 1 ) 管理服务器角色打开企业管理器,展开指定的服务器,单击安全性文件夹,然后单击服务器角色图标,选择需要的选项,根据提示操作 。
( 2 ) 管理数据库角色在企业管理器中,展开指定的服务器以及指定的数据库,然后用右键单击角色图标,从快捷菜单中选择新建数据库角色选项,则出现数据库角色属性 — 新建角色对话框,根据提示即可新建角色 。
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
2,使用存储过程管理角色
(1)管理服务器角色在 SQL Server中,管理服务器角色的存储过程主要有两个:
sp_addsrvrolemember
sp_dropsrvrolemember
第 6章 SQL Server权限管理上一页 下一页 返回本章首页系统存储过程 sp_addsrvrolemember可以将某一登录帐号加入到服务器角色中,使其成为该服务器角色的成员 。 其语法形式如下:
sp_addsrvrolemember login,role
系统存储过程 sp_dropsrvrolemember可以将某一登录者从某一服务器角色中删除,当该成员从服务器角色中被删除后,便不再具有该服务器角色所设置的权限 。
其语法形式如下:
sp_dropsrvrolemember
[@loginame=]’login’,[@rolename=]’role’
第 6章 SQL Server权限管理上一页 下一页 返回本章首页
sp_addrole:用来创建一个新的数据库角色
sp_addrole role,owner
sp_droprole:用于删除一个数据库角色
sp_droprole role
sp_helprole:显示当前数据库所有的数据库角色的所有信息
sp_helprole [‘role’]
sp_addrolemember:向数据库某一角色中添加数据库用户
sp_addrolemember role,security_account
sp_droprolemember:用来删除某一角色的用户
sp_droprolemember role,security_account
sp_helprolemember:用于显示某一数据库角色的所有成员
sp_helprolemember [‘role’]
(2)管理数据库角色第 6章 SQL Server权限管理上一页 下一页 返回本章首页
Thank you very much!
谢谢您的光临
,
再见
!
下一章