例如,一个公司可能成立慈善活动委员会,其中包括来自不同部门,来自组织中各种不同级别的职员。这些职员需要访问数据库中特殊的项目表。没有只包括这些职员的现有 Windows NT 4.0 或 Windows 2000 组,而且没有其它理由在 Windows NT 4.0 或 Windows 2000 中创建这样一个组。可以为此项目创建一个自定义 SQL Server 数据库角色 CharityEvent,并将个别的 Windows NT 和 Windows 2000 用户添加到此数据库角色。当应用权限后,数据库角色中的用户便获得对表的访问权限。其它数据库活动的权限不受影响,只有 CharityEvent 用户可以使用该项目表。
SQL Server 角色存在于一个数据库中,不能跨多个数据库。
使用数据库角色的好处包括:
1.对于任何用户,都可以随时让多个数据库角色处于活动状态.如果所有用户、组和角色都在当前数据库中,则 SQL Server 角色可以包含 Windows NT 4.0 或 Windows 2000 组和用户,以及 SQL Server用户和其它角色。
2.在同一数据库中,一个用户可属于多个角色。
3.提供了可伸缩模型以便在数据库中设置正确的安全级别。
说明:数据库角色要么在创建角色时由明确指定为所有者的用户所拥有,要么在未指定所有者时为创建角色的用户所拥有。角色的所有者决定可以在角色中添加或删除谁。但是,因为角色不是数据库对象,不能在同一数据库中创建由不同用户所拥有的多个同名角色。
权限--
是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。
不同的角色权限不同,有管理员权限,有组管理权限,有用户权限。如果不定角色,每个用户都有相同的权限,那数据库就会无法管理。1.Public:全体用户所共有的角色。如工厂中所有的工人都有进入工厂的权限。
2.db_owner: 此角色允许用户完全控制数据库。
3.db_securityadmin:此角色的用户允许管理所有的角色以及这些角色的成员。此角色也可以管理对角色权限的分配。备注:但不能向已有的角色中增加用户,但可以向创建的角色中添加用户。
4.db_accessadmin:此角色用于赋予用户在数据库中添加或删除用户的权利。通常和db_securtiyadmin角色的连用,使用户能有足够管理用户角色的权限。
用户是具体到某一个账户个体,角色是某一类账户的集合。比如说仓库管理员,这是一个角色,他们管理着仓库;
但是可能公司里有好几个仓库管理员,他们是不同的用户;
在数据库里,角色代表一系列权限的集合,如果将某个角色分配给某个用户,则这个用户就拥有了这一系列的权限。
这样做的好处是不必为单个用户分配不同的权限;假如公司新招库管员一名,直接赋予他库管员的角色,他就有了管理仓库的一系列权限,如果这个人要调换到销售部门去,那么直接给他换个角色就解决了权限的问题。
数据库下同理,有些用户只能查询某些表,而有些用户又只能执行SP,这种权限就需要角色来管理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)