sys.server_principals (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure PDW (Sistema de Plataforma de Análise) da Instância Gerenciada de SQL do Azure
Contém uma linha para cada principal do nível de servidor.
Observação
O Microsoft Entra ID era conhecido anteriormente 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 (ID de segurança) do principal. Se for o principal do Windows, corresponde à SID do Windows. |
tipo | char(1) | Tipo do principal: S = Logon SQL U = Logon do Windows G = Grupo do Windows R = Função do servidor C = Logon mapeado para um certificado E = Logon externo da ID do Microsoft Entra X = Grupo externo do grupo ou aplicativos do Microsoft Entra K = Logon mapeado para uma chave assimétrica |
type_desc | nvarchar(60) | Descrição do tipo do principal: SQL_LOGIN WINDOWS_LOGIN WINDOWS_GROUP SERVER_ROLE CERTIFICATE_MAPPED_LOGIN LOGIN_EXTERNO EXTERNAL_GROUP ASYMMETRIC_KEY_MAPPED_LOGIN |
is_disabled | int | 1 = O logon está desabilitado. |
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 este principal. |
default_language_name | sysname | Linguagem padrão deste principal. |
credential_id | int | ID de uma credencial associada a este principal. Se nenhuma credencial for associada a este principal, 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. Ver outros logons requer ALTER ANY LOGIN ou uma permissão no logon. Ver 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.
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.
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;
Observação
As permissões de funções de servidor fixas não aparecem em sys.server_permissions.
Confira também
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)