sql 服务器角色 数据库角色
服务器角色
所有的服务器角色都是“固定的”角色,并且,从一开始就存在于那里——自安装完SQL Server的那一刻起,你将拥有的所有服务器角色就已经存在了。

角  色
sysadmin
该角色能够执行SQL Server上的任何操作。本质上,任何具有这种角色成员身份的人都是那个服务器上的sa。这种服务器角色的创建为微软提供了某一天去除sa登录的能力——实际上,联机丛书把sa称作本质上为遗留物的东西

值得注意的是,在SQL Server上,Windows的Administrators组被自动映射到sysadmin角色中。这意味着服务器的Administrators组中的任何成员同时也具有对SQL数据的sa级别的访问权限。如果需要,你可以从sysadmin角色中删除Windows的administrators组,以提高安全性、防范漏洞

serveradmin
该角色能设置服务器范围的配置选项或关闭服务器。尽管它在范围上相当有限,但是,由该角色的成员所控制的功能对于服务器的性能会产生非常重大的影响

setupadmin
该角色仅限于管理链接服务器和启动过程

securityadmin
对于专门创建出来用于管理登录名、读取错误日志和创建数据库许可权限的登录名来说,该角色非常便利。在很多方面,该角色是典型的系统操作员角色——它能够处理多数的日常事务,但是,却不具备一个真正无所不能的超级用户所拥有的那种全局访问

processadmin
能够管理SQL Server中运行的进程——必要的话,该角色能够终止长时间运行的进程

dbcreator
该角色仅限于创建和更改数据库

diskadmin
管理磁盘文件(指派给了什么文件组、附加和分离数据库,等等)

bulkadmin
该角色有些怪异。它被明确创建出来,用于执行BULK INSERT语句的权限,否则的话,只能由具有sysadmin权限的人来执行BULK INSERT语句。坦白地说,我不明白为什么该语句不能像其他事情那样通过GRANT命令来授予权限,但它的确没有。要记住,即使把一个用户加入到了bulkadmin组中,也只是给了他们访问那个语句的权限,对于运行该语句的表,并没有授予用户访问那个表的权限。这意味着不仅需要把用户添加到bulkadmin中,而且,对于想要用户能在其上执行BULK INSERT的表,还要授予(GRANT)用户INSERT许可权限。此外,对于将在BULK INSERT语句中引用的所有表,还要确保用户拥有正确的到那些表的SELECT访问权限

对于在服务器上承担管理角色任务的单个用户,你可以对其混合搭配这些角色。一般来说,我怀疑只有最大型的数据库才会使用比sysadmin和securityadmin更多的角色,然而,有它们在旁边还是很便利的。

在本章的前面,我曾就全能用户会带来的麻烦进行过抨击。当新的sysadmin角色添加到7.0版时,我完全是欣喜若狂的,或许,得知此事你不会感到惊奇。sysadmin角色的存在表明,在不断发展的基础上,不再需要让所有人都有sa登录账户——只要让需要拥有那种访问级别的用户成为sysadmin角色的成员,这样他们就不再需要以sa登录。

数据库角色
数据库角色限制在单个数据库的范围之内——用户属于一个数据库中的db_datareader角色并不意味着他属于另一个数据库中的那个角色。数据库角色分为两个子类:固定数据库角色和用户定义数据库角色。

1.固定数据库角色

就如同存在若干个固定服务器角色一样,这里也有许多的固定数据库角色。他们中的一些有预先定义好的专门的用途,这是不能使用常规的语句复制出来的(即是说,你无法创建拥有同样功能的用户定义数据库角色)。然而,大多数角色的存在是为了处理更一般的情形,并让你做起事情来更加容易。

角  色
特  性

db_owner
该角色表现得就好像它是所有其他数据库角色中的成员一样。使用这一角色能够造就这样的情形:多个用户可以完成相同的功能和任务,就好像他们是数据

|<< << < 1 2 > >> >>|

 

设为 | 加入收藏 | 联系我们 重庆IT外包公司 重庆电脑外包公司 重庆电脑维护 讯闪科技 网络版权所有 Copyright © 2006-2011 渝ICP备11004128号

Powered by xunshan