sys.server_principals (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzurePDW (Analytics Platform System)

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 de catálogo é limitada a protegíveis que um usuário possui ou nos quais o usuário recebeu alguma 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 no 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)