Поделиться через


sys.server_principals (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure платформенная система аналитики (PDW)

Содержит одну строку для каждого участника уровня сервера.

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Имя столбца Тип данных Description
name sysname Имя участника. Уникален в пределах сервера.
principal_id int Идентификатор участника. Уникален в пределах сервера.
ид безопасности varbinary(85) Идентификатор безопасности субъекта.
Идентификатор безопасности субъекта Windows соответствует идентификатору безопасности Windows.
Идентификатор идентификатора пользователя Microsoft Entra — это двоичное представление идентификатора объекта Microsoft Entra.
Идентификатор безопасности группы Microsoft Entra — это двоичное представление идентификатора объекта Microsoft Entra.
Идентификатор безопасности приложения Microsoft Entra — это двоичное представление идентификатора клиента Microsoft Entra.
type char(1) Тип участника:

S = имя входа SQL
R = роль сервера

Доступно в SQL Server, Управляемый экземпляр SQL Azure и PDW (в предварительной версии База данных SQL Azure):
E = внешнее имя входа или приложение из идентификатора Microsoft Entra
X = внешняя группа из идентификатора Microsoft Entra

Доступно в SQL Server, Управляемый экземпляр SQL Azure и PDW (не База данных SQL Azure):
U = имя входа Windows
G = группа Windows
C = имя входа, сопоставленное сертификату
K = имя входа, сопоставленное асимметричному ключу
type_desc nvarchar(60) Описание типа участника:

SQL_LOGIN
SERVER_ROLE

Доступно в SQL Server, Управляемый экземпляр SQL Azure и PDW (в предварительной версии База данных SQL Azure):
EXTERNAL_LOGIN
EXTERNAL_GROUP

Доступно в SQL Server, Управляемый экземпляр SQL Azure и PDW (не База данных SQL Azure):
WINDOWS_LOGIN
WINDOWS_GROUP
CERTIFICATE_MAPPED_LOGIN
ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = имя входа отключено.
0 = включено имя входа.
create_date datetime Время создания участника.
modify_date datetime Время последнего изменения определения участника.
default_database_name sysname База данных по умолчанию для субъекта.
default_language_name sysname Язык по умолчанию для субъекта.
credential_id int Идентификатор учетных данных, связанных с субъектом. Если учетные данные не связаны с этим субъектом, credential_id имеет значение NULL.
owning_principal_id int Principal_id владельца роли сервера. NULL, если участник не является ролью сервера.
is_fixed_role bit Возвращает значение 1, если субъект является одной из встроенных ролей сервера с фиксированными разрешениями. Дополнительные сведения см. в статье Роли уровня сервера.

Разрешения

Любое имя входа может видеть собственное имя входа, системные имена входа и предопределенные роли сервера. Для просмотра других имен входа требуется ALTER ANY LOGIN или разрешение на вход. Для просмотра определяемых пользователем ролей сервера требуется ALTER ANY SERVER ROLE или членство в роли.

В База данных SQL Azure только следующие субъекты могут видеть все имена входа:

  • члены роли сервера ##MS_LoginManager## или специальная роль входа в роль базы данных вmaster
  • Администратор Microsoft Entra и администратор SQL Server

Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Примеры

Следующий запрос перечисляет разрешения, явно предоставленные или отклоненные для участников на уровне сервера.

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;  

Внимание

Разрешения фиксированных ролей сервера (кроме общедоступных) не отображаются в sys.server_permissions. Поэтому участники на уровне сервера могут иметь дополнительные разрешения, не перечисленные здесь.

Представления каталога безопасности (Transact-SQL)
Представления каталога (Transact-SQL)
Субъекты (ядро СУБД)
Иерархия разрешений (ядро СУБД)