SQL,何为服务器角色?何为数据库角色?
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1871
一、服务器角色介绍:1.sysadmin固定服务器角色sysadmin的成员被赋予了SQLServer系统中所有可能的权限。例如,只有这个角色中的成员(或一个被这个角色中的成员赋予了CREATEDA

 

  一、服务器角色介绍:

  1. sysadmin

  固定服务器角色sysadmin的成员被赋予了SQL Server系统中所有可能的权限。例如,只有这个角色中的成员(或一个被这个角色中的成员赋予了CREATE DATABASE权限的用户)才能够创建数据库。

  固定服务器角色和sa登录之间有着特殊的关系。sa登录一直都是固定服务器角色中的成员,并且不能从该角色中删除。

 

  2. serveradmin

  固定服务器角色serveradmin的成员可以执行如下的动作:

  向该服务器角色中添加其他登录

  运行dbcc pintable命令(从而使表常驻于主内存中)

  运行系统过程sp_configure(以显示或更改系统选项)

  运行reconfigure选项(以更新系统过程sp_configure所做的所有改动)

  使用shutdown命令关掉数据库服务器

  运行系统过程sp_tableoption为用户自定义表设置选项的值

 

  3. setupadmin

  固定服务器角色setupadmin中的成员可以执行如下的动作:

  向该服务器角色中添加其他登录

  添加、删除或配置链接的服务器

  执行一些系统过程,如sp_serveroption

 

  4. securityadmin

  固定服务器角色securitypadmin中的成员可以执行关于服务器访问和安全的所有动作。这些成员可以进行如下的系统动作:

  向该服务器角色中添加其他登录

  读取SQL Server的错误日志

  运行如下的系统过程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有这些系统过程都与系统安全相关。)

 

  5. processadmin

  固定服务器角色processadmin中的成员用来管理SQL Server进程,如中止用户正在运行的查询。这些成员可以进行如下的动作:

  向该服务器角色中添加其他登录

  执行KILL命令(以取消用户进程)

 

  6. dbcreator

  固定服务器角色dbcreator中的成员用来管理与数据库创建和修改有关的所有动作。这些成员可以进行如下的动作:

  向该服务器角色中添加其他登录

  运行CREATE DATABASE和ALTER DATABASE语句

  使用系统过程sp_renamedb来修改数据库的名称

 

  7. diskadmin

  固定服务器角色diskadmin的成员可以进行如下与用来存储数据库对象的文件和文件组有关的动作:

  向该服务器角色中添加其他登录

  运行如下系统过程:sp_ddumpdevice和sp_dropdevice。

  运行DISK INIT语句



  二、数据库角色:

 

  1. db_owner

  固定数据库角色db_owner的成员可以在特定的数据库中进行如下的动作:

  向其他固定数据库角色中添加成员,或从其中删除成员

  运行所有的DDL语句

  运行BACKUP DATABASE和BACKUP LOG语句

  使用CHECKPOINT语句显式地启动检查点进程

  运行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

  授予、取消或剥夺每一个数据库对象上的下列权限:SELECT、INSERT、UPDATE、DELETE和REFERENCES

  使用下列系统过程向数据库中添加用户或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess

  使用系统过程sp_rename为任何数据库对象重新命名

 

  2. db_accessadmin

  固定数据库角色db_accessadmin的成员可以执行与数据库访问有关的所有动作。这些角色可以在具体的数据库中执行下列操作:

  运行下列系统过程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess

  为Windows用户账户、Windows组和SQL Server登录添加或删除访问

 

  3. dbdatareader

  固定数据库角色dbdatareader的成员对数据库中的数据库对象(表或视图)具有SELECT权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说同样成立。)

 

  4. dbdatawriter

  固定数据库角色dbdatawriter的成员对数据库中的数据库对象(表或视图)具有INSERT、UPDATE和DELETE权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说也同样成立。)

 

  5. db_ddladmin

  固定数据库角色db_ddladmin的成员可以进行如下的动作:

  运行所有DDL语句

  对任何表上授予REFERENCESE权限

  使用系统过程sp_procoption和sp_recompile来修改任何存储过程的结构

  使用系统过程sp_rename为任何数据库对象重命名

  使用系统过程sp_tableoption和sp_changeobjectowner分别修改表的选项和任何数据库对象的拥有者

 

  6. db_securityadmin

  固定数据库角色db_securityadmin的成员可以管理数据库中的安全。这些成员可以进行如下的动作:

  运行与安全有关的所有Transact-SQL语句(GRANT、DENY和REVOKE)

  运行以下系统过程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember

 

  7. db_backupoperator

  固定数据库角色db_backupoperator的成员可以管理数据库备份的过程。这些成员可以进行如下动作:

  运行BACKUP DATABASE和BACKUP LOG语句

  用CHECKPOINT语句显式地启动检查点进程

  运行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

 

  8. db_denydatareader和db_denydatawriter

  顾名思义,固定数据库角色db_denydatareader的成员对数据库中的数据库对象(表或视图)没有SELECT权限。如果数据库中含有敏感数据并且其他用户不能读取这些数据,那么就可以使用这个角色。

  固定数据库角色db_denydatawriter的成员对数据库中的任何数据库对象(表或视图)没有INSERT、UPDATE和DELETE权限。

 

 

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2