sys.server_principals (Transact-SQL)

每个服务器级别主体占一行。

适用范围:SQL Server(SQL Server 2008 到当前版本)。

列名

数据类型

说明

name

sysname

主体的名称。 在服务器中是唯一的。

principal_id

int

主体的 ID 号。 在服务器中是唯一的。

sid

varbinary(85)

主体的 SID(安全标识符)。 如果是 Windows 主体,则它与 Windows SID 匹配。

type

char(1)

主体类型:

S = SQL 登录名

U = Windows 登录名

G = Windows 组

R = 服务器角色

C = 映射到证书的登录名

K = 映射到非对称密钥的登录名

type_desc

nvarchar(60)

主体类型的说明:

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

ASYMMETRIC_KEY_MAPPED_LOGIN

is_disabled

int

1 = 禁用登录名。

create_date

datetime

主体的创建时间。

modify_date

datetime

上次修改主体定义的时间。

default_database_name

sysname

该主体的默认数据库。

default_language_name

sysname

该主体的默认语言。

credential_id

int

与该主体关联的凭据的 ID。 如果没有与该主体关联的凭据,则 credential_id 将为 NULL。

owning_principal_id

int

服务器角色的所有者的 principal_id。 如果主体不是服务器角色,则为 NULL。

is_fixed_role

bit

如果主体是固定服务器角色之一,则返回 1。 有关详细信息,请参阅服务器级别角色

权限

任何登录都可以查看自己的登录名称、系统登录和固定的数据库角色。 要查看其他登录,需要获取 ALTER ANY LOGIN 或有关登录的权限。 要查看用户定义的服务器角色,需要获取 ALTER ANY SERVER ROLE 或相关的角色成员身份。

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。有关详细信息,请参阅元数据可见性配置

示例

以下查询将列出明确对服务器主体授予或拒绝的权限。

重要说明重要提示

固定服务器角色的权限不会出现在 sys.server_permissions 中。因此,服务器主体可能具有此处未列出的其他权限。

SELECT pr.principal_id, pr.name, pr.type_desc, 
    pe.state_desc, pe.permission_name 
FROM sys.server_principals AS pr 
JOIN sys.server_permissions AS pe 
    ON pe.grantee_principal_id = pr.principal_id;

请参阅

参考

安全性目录视图 (Transact-SQL)

目录视图 (Transact-SQL)

概念

主体(数据库引擎)

权限层次结构(数据库引擎)