服务器级别角色

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

提供固定服务器角色是为了方便以及向后兼容。应尽可能分配更具体的权限。

服务器级角色也称为“固定服务器角色”,因为您不能创建新的服务器级角色。服务器级角色的权限作用域为服务器范围。

您可以向服务器级角色中添加 SQL Server 登录名、Windows 帐户和 Windows 组。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。

下表显示了服务器级角色及其能够执行的操作。

服务器级角色名称

说明

sysadmin

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

serveradmin

serveradmin 固定服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。

securityadmin

securityadmin 固定服务器角色的成员可以管理登录名及其属性。他们可以 GRANT、DENY 和 REVOKE 服务器级别的权限。他们还可以 GRANT、DENY 和 REVOKE 数据库级别的权限。此外,他们还可以重置 SQL Server 登录名的密码。

安全说明安全说明
向数据库引擎授予访问权限以及配置用户权限的能力使得安全管理员可以分配大多数权限。securityadmin 角色应视作等效于 sysadmin 角色。

processadmin

processadmin 固定服务器角色的成员可以终止在 SQL Server 实例中运行的进程。

setupadmin

setupadmin 固定服务器角色的成员可以添加和删除链接服务器。

bulkadmin

bulkadmin 固定服务器角色的成员可以运行 BULK INSERT 语句。

diskadmin

diskadmin 固定服务器角色用于管理磁盘文件。

dbcreator

dbcreator 固定服务器角色的成员可以创建、更改、删除和还原任何数据库。

public

每个 SQL Server 登录名都属于 public 服务器角色。如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的 public 角色的权限。 只有在希望所有用户都能使用对象时,才在对象上分配 Public 权限。

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

使用服务器级角色

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

功能

类型

说明

sp_helpsrvrole (Transact-SQL)

元数据

返回服务器级角色的列表。

sp_helpsrvrolemember (Transact-SQL)

元数据

返回有关服务器级角色成员的信息。

sp_srvrolepermission (Transact-SQL)

元数据

显示服务器级角色的权限。

IS_SRVROLEMEMBER (Transact-SQL)

元数据

指示 SQL Server 登录名是否为指定服务器级角色的成员。

sys.server_role_members (Transact-SQL)

元数据

为每个服务器级角色的每个成员返回一行。

sp_addsrvrolemember (Transact-SQL)

命令

将登录名添加为某个服务器级角色的成员。

sp_dropsrvrolemember (Transact-SQL)

命令

从服务器级角色中删除 SQL Server 登录名或 Windows 用户或组。