sys.server_principals (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Analytics Platform System)
Contém uma linha para cada principal do nível de servidor.
Observação
O Microsoft Entra ID era conhecido como Azure Active Directory (Azure AD).
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
name | sysname | Nome do principal. É exclusivo em um servidor. |
principal_id | int | Número da ID do principal. É exclusivo em um servidor. |
sid | varbinary(85) | SID (identificador de segurança) da entidade de segurança. O SID de uma entidade de segurança do Windows corresponde ao SID do Windows. O SID de uma identidade de usuário do Microsoft Entra é a representação binária de sua ID de objeto do Microsoft Entra. O SID de um grupo do Microsoft Entra é a representação binária de sua ID de objeto do Microsoft Entra. O SID de um aplicativo do Microsoft Entra é a representação binária de sua ID de cliente do Microsoft Entra. |
tipo | char(1) | Tipo do principal: S = Logon SQL R = Função do servidor Disponível no SQL Server, na Instância Gerenciada de SQL do Azure e no PDW (em versão prévia no Banco de Dados SQL do Azure): E = Logon externo ou aplicativo do Microsoft Entra ID X = Grupo externo do Microsoft Entra ID Disponível no SQL Server, na Instância Gerenciada de SQL do Azure e no PDW (não no Banco de Dados SQL do Azure): U = Logon do Windows G = Grupo do Windows C = Logon mapeado para um certificado K = Logon mapeado para uma chave assimétrica |
type_desc | nvarchar(60) | Descrição do tipo do principal: SQL_LOGIN SERVER_ROLE Disponível no SQL Server, na Instância Gerenciada de SQL do Azure e no PDW (em versão prévia no Banco de Dados SQL do Azure): LOGIN_EXTERNO EXTERNAL_GROUP Disponível no SQL Server, na Instância Gerenciada de SQL do Azure e no PDW (não no Banco de Dados SQL do Azure): WINDOWS_LOGIN WINDOWS_GROUP CERTIFICATE_MAPPED_LOGIN ASYMMETRIC_KEY_MAPPED_LOGIN |
is_disabled | int | 1 = O logon está desabilitado. 0 = O login está ativado. |
create_date | datetime | Hora em que o principal foi criado. |
modify_date | datetime | Hora em que a definição do principal foi modificada pela última vez. |
default_database_name | sysname | Banco de dados padrão para a entidade de segurança. |
default_language_name | sysname | Idioma padrão para a entidade de segurança. |
credential_id | int | ID de uma credencial associada à entidade de segurança. Se nenhuma credencial estiver associada a essa entidade de segurança, credential_id será NULL. |
owning_principal_id | int | O principal_id do proprietário de uma função de servidor. NULL se a entidade não for uma função de servidor. |
is_fixed_role | bit | Retorna 1 se a entidade de segurança for uma das funções de servidor internas com permissões fixas. Para obter mais informações, veja Funções de nível de servidor. |
Permissões
Qualquer logon pode ver seu próprio nome de logon, os logons do sistema e as funções de servidor fixas. A visualização de outros logins requer ALTER ANY LOGIN ou uma permissão no login. A exibição de funções de servidor definidas pelo usuário requer ALTER ANY SERVER ROLE ou associação na função.
No Banco de Dados SQL do Azure, somente as seguintes entidades de segurança podem ver todos os logons:
- Membros da função de servidor ##MS_LoginManager## ou da função de banco de dados especial loginmanager em
master
- o administrador do Microsoft Entra e o administrador do SQL Server
A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte Metadata Visibility Configuration.
Exemplos
A consulta a seguir lista as permissões concedidas ou negadas explicitamente a entidades de segurança do servidor.
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;
Importante
As permissões de funções de servidor fixas (que não sejam públicas) não aparecem em sys.server_permissions. Portanto, entidades de segurança do servidor podem ter permissões adicionais não listadas aqui.
Conteúdo relacionado
Exibições do catálogo de segurança (Transact-SQL)
Exibições do Catálogo (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
Hierarquia de permissões (Mecanismo de Banco de Dados)