帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  解析mssql中的数据库角色成员身份

解析mssql中的数据库角色成员身份

2016-01-21 16:52:27 8455

SQL服务器角色一样,SQL数据库角色同样非常重要,下面为您介绍的就是SQL数据库角中的固定数据库角色和用户定义数据库角色,希望对您学习SQL数据库有所帮助。

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

1.固定SQL数据库角色

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

角色特性

db_owner

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

db_accessadmin

实现类似于securityadmin服务器角色所实现功能的一部分,只不过这一角色仅局限于指派它并创建用户的单个数据库中(不是单个的权限)。它不能创建新的SQL Server登录账户,但是,该角色中的成员能够把Windows用户和组以及现有的SQL Server登录账户加入到数据库中

db_datareader  能够在数据库中所有的用户表上执行SELECT语句

db_datawriter

能够在数据库中所有的用户表上执行INSERTUPDATEDELETE语句

db_ddladmin  能够在数据库中添加、修改或删除对象

db_securityadmin

securityadmin服务器角色的数据库级别的等价物。这一数据库角色不能在数据库中创建新的用户,但是,能够管理角色和数据库角色的成员,并能在数据库中管理语句和对象的许可权限

db_backupoperator  备份数据库

db_denydatareader  提供一种等同于在数据库中所有表和视图上DENY SELECT的效果

db_denydatawriter

类似于db_denydatareader,只不过这里影响的是INSERTUPDATEDELETE语句

2.用户定义数据库角色

实际上,可供使用的固定角色只是为了帮助你开始入手。安全性真正的中流砥柱是用户定义数据库角色的创建和分配。对于这些角色来说,由你来决定它们将包含什么许可权限。

使用用户定义角色时,可以像针对单独的用户那样,用完全相同的方式进行GRANTDENYREVOKE。关于使用角色,好的事情是,用户往往归入访问需要的范畴——通过使用角色,你能够在一个地方做改动,并将改动散播给所有类似的用户(至少被指派到那个角色的用户)。

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: