Compartilhar via


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 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 (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 da ID do Microsoft Entra

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.

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)