数据库固定的8个服务器角色各有什么权限

数据库固定的8个服务器角色各有什么权限,第1张

8的等级最高,相当于sqlserver的sa账户和oracle的sysadmin,可以做一切 *** 作,包括以下七种角色,事实上一般以下七种角色的权限都是他来指派的,企业中一般严禁这个账户登陆的,因为一旦误 *** 作将会造成灾难性损失。

1管理数据库大小,数据空间大小以及数据日志大小等

2拥有建立数据库的权限

3对已经分配磁盘空间进行分配

4可以管理进程,比如剔除一些非法进程

5可以管理连接权限,用户权限等。

6这个可以启动服务器,对服务器的属性进行分配(连接池、cpu、内存空间等),貌似是sqlserver特有

7这个角色很多数据库是没有的,比如sqlserver2000就是没有的,oracle8以前好像也是没有的,可以安装数据库以及删除数据库(在非常安全控制地方这种账户是没有连接权限的,也就是说只能安装,但是不能读取里面的数据)

这些权限各不相同,所以很难说是对服务器的还是数据库的,比如7这种,根本说不上是不是服务器级别的,因为它只有安装权限,可以认为是系统级别的,事实上,只有sqlserver存在服务器和数据库的区别,一般的诸如db2和oracle中的所谓服务器指的是那台机器而不是一个sqlserver意义上的服务器,具体情况具体对待

其实主要角色不止这些,还有诸如备份管理员backupadmin,数据清理员英文忘记了等等。

use yourdb go

select DbRole = gname, MemberName = uname, MemberSID = usid

from sysdatabase_principals u, sysdatabase_principals g, sysdatabase_role_members m

where gprincipal_id = mrole_principal_id and uprincipal_id = mmember_principal_id order by 1, 2 go

这个不太好说,没有系统的总结过,简单的说一下个人理解吧

角色可以分:固定服务器级别、固定数据库级别

服务器级别角色用户无法创建,而数据库级别角色用户可以自定义

角色是权限的集合,是一个组,用户从属于角色,是组的成员

数据库用户是数据库级别上的主体,每个数据库用户都是 public 角色的成员,

如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的 public 角色的权限

简单的说,每个角色都有一定的权限,其中的用户成员享有其角色拥有的权限

用户可以从属于多个角色,也就是可以同时享有多重权限

用数据字典selectfromdba_users;查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,systemselectfromall_users;查看你能管理的所有用户!selectfromuser_users;查看当前用户信息!

各个角色是对应不同权限的,sql server中有很多权限,可以把这些权限组合或单独赋给各个角色,从而使不同角色的用户的权限不同,你列出的都是内置角色。你看看下面这些对你有没有帮助,希望你解决你的问题。

为便于管理数据库中的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体的安全主体。它们类似于 Microsoft Windows *** 作系统中的组。数据库级角色的权限作用域为数据库范围。

SQL Server 中有两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和您可以创建的“灵活数据库角色”。

固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份。但是,只有 db_owner 数据库角色的成员能够向 db_owner 固定数据库角色中添加成员。msdb 数据库中还有一些特殊用途的固定数据库角色。

您可以向数据库级角色中添加任何数据库帐户和其他 SQL Server 角色。固定数据库角色的每个成员都可向同一个角色添加其他登录名。

重要提示:

请不要将灵活数据库角色添加为固定角色的成员。这会导致意外的权限升级。

下表显示了固定数据库级角色及其能够执行的 *** 作。所有数据库中都有这些角色。

数据库级别的角色名称 说明

db_owner

db_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库。

db_securityadmin

db_securityadmin 固定数据库角色的成员可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级。

db_accessadmin

db_accessadmin 固定数据库角色的成员可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限。

db_backupoperator

db_backupoperator 固定数据库角色的成员可以备份数据库。

db_ddladmin

db_ddladmin 固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令。

db_datawriter

db_datawriter 固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。

db_datareader

db_datareader 固定数据库角色的成员可以从所有用户表中读取所有数据。

db_denydatawriter

db_denydatawriter 固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据。

db_denydatareader

db_denydatareader 固定数据库角色的成员不能读取数据库内用户表中的任何数据。

有关数据库级固定角色权限的特定信息,请参阅固定数据库角色的权限(数据库引擎)。

msdb 角色

msdb 数据库中包含下表显示的特殊用途的角色。

msdb 角色名称 说明

db_ssisadmin

db_ssisoperator

db_ssisltduser

这些数据库角色的成员可以管理和使用 SSIS。从早期版本升级的 SQL Server 实例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的旧版本角色。有关详细信息,请参阅 使用 Integration Services 角色。

dc_admin

dc_operator

dc_proxy

这些数据库角色的成员可以管理和使用数据收集器。有关详细信息,请参阅数据收集器的安全性。

PolicyAdministratorRole

db_ PolicyAdministratorRole 数据库角色的成员可以对基于策略的管理策略和条件执行所有配置和维护活动。有关详细信息,请参阅使用基于策略的管理来管理服务器。

ServerGroupAdministratorRole

ServerGroupReaderRole

这些数据库角色的成员可以管理和使用注册的服务器组。有关详细信息,请参阅创建服务器组。

重要提示:

db_ssisadmin 角色和 dc_admin 角色的成员也许可以将其权限提升到 sysadmin。之所以会发生此权限提升,是因为这些角色可以修改 Integration Services 包,而 SQL Server 可以使用 SQL Server 代理的 sysadmin 安全上下文来执行 Integration Services 包。若要防止在运行维护计划、数据收集组和其他 Integration Services 包时出现此权限提升,请将运行包的 SQL Server 代理作业配置为使用拥有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。

使用服务器级角色

下表说明了用于服务器级角色的命令、视图和函数。

功能 类型 说明

sp_helpdbfixedrole (Transact-SQL)

元数据

返回固定数据库角色的列表。

sp_dbfixedrolepermission (Transact-SQL)

元数据

显示固定数据库角色的权限。

sp_helprole (Transact-SQL)

元数据

返回当前数据库中有关角色的信息。

sp_helprolemember (Transact-SQL)

元数据

返回有关当前数据库中某个角色的成员的信息。

sysdatabase_role_members (Transact-SQL)

元数据

为每个数据库角色的每个成员返回一行。

IS_MEMBER (Transact-SQL)

元数据

指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。

CREATE ROLE (Transact-SQL)

命令

在当前数据库中创建新的数据库角色。

ALTER ROLE (Transact-SQL)

命令

更改数据库角色的名称。

DROP ROLE (Transact-SQL)

命令

从数据库中删除角色。

sp_addrole (Transact-SQL)

命令

在当前数据库中创建新的数据库角色。

sp_droprole (Transact-SQL)

命令

从当前数据库中删除数据库角色。

sp_addrolemember (Transact-SQL)

命令

为当前数据库中的数据库角色添加数据库用户、数据库角色、Windows 登录名或 Windows 组。

sp_droprolemember (Transact-SQL)

命令

从当前数据库的 SQL Server 角色中删除安全帐户。

public 数据库角色

每个数据库用户都属于 public 数据库角色。如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的 public 角色的权限。

分为:服务器级别角色和数据库级别的角色 服务器级别角色 固定服务器角色在其作用域内属于服务器范围。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。 固定服务器角色有: bulkadmin dbcreator diskadmin processadmin securityadmin serveradmin setupadmin sysadmin 数据库级别的角色 固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。 db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份;但是,只有 db_owner 数据库的成员可以向 db_owner 固定数据库角色中添加成员。 固定数据库角色包括: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin public 数据库角色 每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。

以上就是关于数据库固定的8个服务器角色各有什么权限全部的内容,包括:数据库固定的8个服务器角色各有什么权限、SQL 2005 用户所属数据库角色、SQL 角色有哪几种 角色和用户有哪些关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9438269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存