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)
Субъекты (ядро СУБД)
Иерархия разрешений (ядро СУБД)