6.3 服务器角色

6.3 服务器角色

6.3.1 固定服务器角色

  为便于管理服务器上的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体(SQL Server 登录名、Windows 帐户和 Windows 组)的安全主体。“角色”类似于 Microsoft Windows 操作系统中的“组”。

  SQL Server 提供了九种固定服务器角色。 无法更改授予固定服务器角色的权限。

(1) sysadmin

  此角色的成员可以在服务器中执行任何活动。

(2) serveradmin

  此角色的成员可以更改服务器范围内的配置选项并关闭服务器。

(3) securityadmin

  此角色的成员可以管理登录名及其属性,包括 GRANT、DENY 和 REVOKE 服务器级权限。此角色还可以 GRANT、DENY 和 REVOKE 数据库级权限(如果他们具有数据库的访问权限)。 此外,还可以重置 SQL Server 登录名的密码。

(4) processadmin

  此角色的成员可以终止在 SQL Server 实例中运行的进程。

(5) setupadmin

  此角色的成员可以使用 Transact-SQL 语句添加和删除链接服务器。  (在使用 Management Studio 时需要 sysadmin 成员资格。)

(6) bulkadmin

  此角色的成员可以运行 BULK INSERT 语句。

(7) diskadmin

  此角色用于管理磁盘文件。

(8) dbcreator

  此角色的成员可以创建、更改、删除和还原任何数据库。

(9) public

  每个 SQL Server 登录名均属于 public 服务器角色。public 的实现方式与其他角色不同。 但是,可以从 public 授予、拒绝或撤销权限。

  如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的 public 角色的权限。当您希望该对象对所有用户可用时,只需对任何对象分配 public 权限即可。

  不能更改 public 中的成员关系。

  可以使用 sys.fn_builtin_permissions 系统函数列出服务器级别的权限。

SELECT * FROM sys.fn_builtin_permissions(‘SERVER‘) ORDER BY permission_name;

  可以通过以下 T-SQL 语句查询当前角色的成员身份(结果中不显示 public 角色)。


SELECT SRM.role_principal_id, SP.name AS Role_Name,

SRM.member_principal_id, SP2.name  AS Member_Name

FROM sys.server_role_members AS SRM

JOIN sys.server_principals AS SP

ON SRM.Role_principal_id = SP.principal_id

JOIN sys.server_principals AS SP2

ON SRM.member_principal_id = SP2.principal_id

ORDER BY  SP.name,  SP2.name

6.3.2 用户定义的服务器角色

  SQL Server 2012 及后续版本可以创建用户定义的服务器角色,并将服务器级权限添加到用户定义的服务器角色。

  用户定义的服务器角色可以更改名称或者删除。要求在服务器上具有 ALTER ANY SERVER ROLE 权限才能更改用户定义的服务器角色的名称。

  T-SQL 语法示例如下:

CREATE SERVER ROLE CusRole1;

ALTER SERVER ROLE CusRole1 WITH NAME = CusRoleNewName;

6.3.3 添加或删除成员

  可以将服务器级主体(SQL Server 登录名、Windows 帐户和 Windows 组)添加到服务器级角色。 固定服务器角色的每个成员都可以将其他登录名添加到该同一角色。用户定义的服务器角色的成员则无法将其他服务器主体添加到角色。

  若要为固定服务器角色添加成员,则必须是该固定服务器角色的成员,或者是 sysadmin 固定服务器角色的成员。CONTROL SERVER 和 ALTER ANY SERVER ROLE 权限不足以为固定服务器角色执行 ALTER SERVER ROLE,并且不能为固定服务器角色授予 ALTER 权限。

  与固定服务器角色不同,用户定义的服务器角色的成员本身并不具备为该同一角色添加成员的权限。若要为用户定义的服务器角色添加成员,则必须是 sysadmin 固定服务器角色的成员,或者具有 CONTROL SERVER 或 ALTER ANY SERVER ROLE 权限。 否则,就必须具有该角色的 ALTER 权限。

  在创建登录名时,可以同时为用户添加或删除服务器角色。

  在 SSMS 中展开“安全性”、“服务器角色”,编辑某个服务器角色的属性。通过单击“添加”按钮,可以添加添加登录名或服务器角色;单击“删除”按钮则将当前选中的成员从该角色中移除。

  T-SQL 语法示例如下:


ALTER SERVER ROLE serveradmin ADD MEMBER [SQLSVR2014\LocalUser1] ;

ALTER SERVER ROLE diskadmin ADD MEMBER SqlUser1 ;

ALTER SERVER ROLE serveradmin DROP MEMBER [SQLSVR2014\LocalUser1] ;

ALTER SERVER ROLE diskadmin DROP MEMBER SqlUser1 ;

提示:

  不推荐使用 sp_addsrvrolemember 和 sp_dropsrvrolemember 存储过程。

时间: 2024-10-23 18:14:35

6.3 服务器角色的相关文章

Exchange Server 2013系列二:服务器角色

杜飞 在上一篇文章中,我们提到现在硬件性能的增加以及成本的下降,硬件已经不再成为软件应用的约束因素,特别是CPU,其 计算能力的成本显著降低.Exchange 2013 的主要设计目标是简化缩放.提高硬件利用率和实现故障隔离.Exchange 2013一开始将服务器角色的数目减少到了两个:客户端访问服务器角色和邮箱服务器角色,当然,升级到SP1之后也包含边缘服务器角色或者是边界网络中安装 Exchange 2007 或 Exchange 2010 边缘传输服务器角色.如下图所示: 客户端访问服务

SQL Server 2005的服务器角色(public)的问题

SQL Server 默认会有9个服务器角色,而且这些角色是不能删除和新增.修改的.关于这些角色相关介绍和权限,请参考 其中有一个特殊的角色public,任何登录都会属于该角色,它只拥有的权限是VIEW ANY DATABASE 本文并不是为了介绍这些角色,而是提醒你,如果你在服务器角色中没有看到public,那么很可能是因为你没有安装sql server的最新补丁包(sql server 2005 sp2)的问题.(这是今天确认的一个问题)

SqlServer 服务器角色和数据库角色相关操作

/*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ------------------------------------------------------------------------------------*/ -- 查看固定服务器角色(8个,不可增删,未包括public,每个用户都属于public服务器角色) EXEC sp_hel

关于Exchange邮箱服务器角色故障排查及解决思路分享

在最近一次关于Exchange服务器故障中,出现了员工无法进入邮箱的问题,最直接方法来登录OWA页面,看看正常不正常,反映出来的报错信息如下: 当接到这个报障后,第一时间,当时有人问到是不是公司的CAS服务器挂了?当然还是如果对邮件服务器足够了解的话, 这个报错一定不是邮箱服务器CAS出现故障,因为如果CAS出现问题,您也到不了这个页面的,所以根据产品提供服务来判断,能打开OWA页面,说明CAS服务器是正常的,出现这个报错是在用户输入帐号和密码后出现的,那么其实不用去思考,故障点一定出现在邮箱服

SQLServer 服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解 转自:http://blog.csdn.net/e_online/article/details/4597957 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户.数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Server登录其他角色SQL Server的安全体系结构中包括了

Exchange Server 2013 DAG高可用部署(三)-服务器角色安装

通过前两篇文章,我们基本做好了Exchange Server 2013安装部署的前期准备工作,接下来我们就开始分角色安装Exchange服务器. 由于本次实验项目环境只有4台服务器,分别是两台前端CAS和两台后端MBX服务器,所以下面仅以一台服务器的安装截图为例,其中只有个别步骤不同,到时候我会明确指出. 10.安装Exchange角色服务器 使用xxx\Exchangeadmin登录到四台邮件服务器上,进行下述操作. 首先插入Exchange Server 2013 安装介质(这个方法种类有很

SQLServer中服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解 by e-online 26. 九月 2009 18:55 coming from http://blog.csdn.net/e_online/article/details/4597957 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数据库角色的成员可以分为如下几类: Windows用户组或

SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作

/*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ------------------------------------------------------------------------------------*/ -- 查看固定服务器角色(8个,不可增删,未包括public,每个用户都属于public服务器角色) EXEC sp_hel

Exchange Server 2010 全新部署篇十:在PEK1-MBX-01上安装邮箱服务器角色

1.服务器基本配置: MAIP_NetWork IP地址信息 Copy_NetWork_IP地址信息 计算机名: 2.安装功能性组件 PS C:\Windows\system32> Import-Module servermanager PS C:\Windows\system32> Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net