咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
与SQL服务器角色一样,SQL数据库角色同样非常重要,下面为您介绍的就是SQL数据库角中的固定数据库角色和用户定义数据库角色,希望对您学习SQL数据库有所帮助。
数据库角色限制在单个数据库的范围之内——用户属于一个数据库中的db_datareader角色并不意味着他属于另一个数据库中的那个角色。数据库角色分为两个子类:固定数据库角色和用户定义数据库角色。
1.固定SQL数据库角色
就如同存在若干个固定服务器角色一样,这里也有许多的固定数据库角色。他们中的一些有预先定义好的专门的用途,这是不能使用常规的语句复制出来的(即是说,你无法创建拥有同样功能的用户定义数据库角色)。然而,大多数角色的存在是为了处理更一般的情形,并让你做起事情来更加容易。
角色特性
db_owner
该角色表现得就好像它是所有其他数据库角色中的成员一样。使用这一角色能够造就这样的情形:多个用户可以完成相同的功能和任务,就好像他们是数据库的所有者一样
db_accessadmin
实现类似于securityadmin服务器角色所实现功能的一部分,只不过这一角色仅局限于指派它并创建用户的单个数据库中(不是单个的权限)。它不能创建新的SQL Server登录账户,但是,该角色中的成员能够把Windows用户和组以及现有的SQL Server登录账户加入到数据库中
db_datareader 能够在数据库中所有的用户表上执行SELECT语句
db_datawriter
能够在数据库中所有的用户表上执行INSERT、UPDATE和DELETE语句
db_ddladmin 能够在数据库中添加、修改或删除对象
db_securityadmin
securityadmin服务器角色的数据库级别的等价物。这一数据库角色不能在数据库中创建新的用户,但是,能够管理角色和数据库角色的成员,并能在数据库中管理语句和对象的许可权限
db_backupoperator 备份数据库
db_denydatareader 提供一种等同于在数据库中所有表和视图上DENY SELECT的效果
db_denydatawriter
类似于db_denydatareader,只不过这里影响的是INSERT、UPDATE和DELETE语句
2.用户定义数据库角色
实际上,可供使用的固定角色只是为了帮助你开始入手。安全性真正的中流砥柱是用户定义数据库角色的创建和分配。对于这些角色来说,由你来决定它们将包含什么许可权限。
使用用户定义角色时,可以像针对单独的用户那样,用完全相同的方式进行GRANT、DENY和REVOKE。关于使用角色,好的事情是,用户往往归入访问需要的范畴——通过使用角色,你能够在一个地方做改动,并将改动散播给所有类似的用户(至少被指派到那个角色的用户)。