Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Retorna uma linha para cada entidade de segurança em um banco de dados do SQL Server.
Note
O Microsoft Entra ID era conhecido anteriormente como Azure Ative Directory (Azure AD).
Descrições das colunas
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| name | sysname | Nome do principal, exclusivo dentro do banco de dados. |
| principal_id | int | ID do principal, exclusivo dentro do banco de dados. |
| type | char(1) | Tipo principal: A = Função do aplicativo C = Usuário mapeado para um certificado E = Usuário externo do Microsoft Entra ID G = grupo Windows K = Usuário mapeado para uma chave assimétrica R = Função de banco de dados S = usuário SQL U = usuário do Windows X = Grupo externo do grupo ou aplicativos do Microsoft Entra |
| type_desc | nvarchar(60) | Descrição do tipo principal. APPLICATION_ROLE CERTIFICATE_MAPPED_USER EXTERNAL_USER WINDOWS_GROUP ASYMMETRIC_KEY_MAPPED_USER DATABASE_ROLE SQL_USER WINDOWS_USER EXTERNAL_GROUPS |
| default_schema_name | sysname | Nome a ser usado quando o nome SQL não especifica um esquema. Nulo para entidades que não sejam do tipo S, U ou A. |
| create_date | datetime | Momento em que o principal foi criado. |
| modify_date | datetime | Momento em que o comitente foi modificado pela última vez. |
| owning_principal_id | int | ID da entidade de segurança proprietária dessa entidade de segurança. Todas as funções de banco de dados fixas são de propriedade do dbo por padrão. |
| SID | varbinary(85) | SID (Identificador de Segurança) da entidade de segurança. NULL para esquemas SYS e INFORMATION. |
| is_fixed_role | bit | Se 1, essa linha representa uma entrada para uma das funções fixas do banco de dados: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader db_denydatawriter. |
| authentication_type | int |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Significa o tipo de autenticação. A seguir estão os valores possíveis e suas descrições. 0 : Sem autenticação 1 : Autenticação da instância 2 : Autenticação de banco de dados 3 : Autenticação do Windows 4 : Autenticação Microsoft Entra |
| authentication_type_desc | nvarchar(60) |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Descrição do tipo de autenticação. A seguir estão os valores possíveis e suas descrições. NONE : Sem autenticaçãoINSTANCE : Autenticação de instânciaDATABASE : Autenticação de banco de dadosWINDOWS : Autenticação do WindowsEXTERNAL: Autenticação Microsoft Entra |
| default_language_name | sysname |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Significa o idioma padrão para essa entidade de segurança. |
| default_language_lcid | int |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Significa o LCID padrão para essa entidade de segurança. |
| allow_encrypted_value_modifications | bit |
Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de dados SQL. Suprime verificações de metadados criptográficos no servidor em operações de cópia em massa. Isso permite que o usuário copie em massa dados criptografados usando Always Encrypted, entre tabelas ou bancos de dados, sem descriptografar os dados. O padrão é OFF. |
Remarks
As propriedades PasswordLastSetTime estão disponíveis em todas as configurações com suporte do SQL Server, mas as outras propriedades só estão disponíveis quando o SQL Server está sendo executado no Windows Server 2003 ou posterior e CHECK_POLICY e CHECK_EXPIRATION estão habilitados. Consulte Política de senha para obter mais informações. Os valores do principal_id podem ser reutilizados no caso de os principais terem sido reduzidos e, portanto, não é garantido que sejam cada vez maiores.
Permissions
Qualquer usuário pode ver seu próprio nome de usuário, os usuários do sistema e as funções de banco de dados fixas. Para ver outros usuários, requer ALTER ANY USER, ou uma permissão sobre o usuário. Para ver as funções definidas pelo usuário, é necessário ALTERAR QUALQUER FUNÇÃO ou associação à função.
Examples
R: Listando todas as permissões das entidades de banco de dados
A consulta a seguir lista as permissões explicitamente concedidas ou negadas às entidades de banco de dados.
Important
As permissões de funções de banco de dados fixas não aparecem no sys.database_permissions. Portanto, as entidades de banco de dados podem ter permissões adicionais não listadas aqui.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
B: Listando permissões em objetos de esquema em um banco de dados
A consulta a seguir une sys.database_principals e sys.database_permissions a sys.objects e sys.schemas para listar permissões concedidas ou negadas a objetos de esquema específicos.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc,
pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
ON pe.major_id = o.object_id
JOIN sys.schemas AS s
ON o.schema_id = s.schema_id;
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Listando todas as permissões de entidades de banco de dados
A consulta a seguir lista as permissões explicitamente concedidas ou negadas às entidades de banco de dados.
Important
As permissões de funções de banco de dados fixas não aparecem no sys.database_permissions. Portanto, as entidades de banco de dados podem ter permissões adicionais não listadas aqui.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
D: Listando permissões em objetos de esquema em um banco de dados
A consulta a seguir une sys.database_principals e sys.database_permissions para sys.objects e sys.schemas para listar permissões concedidas ou negadas a objetos de esquema específicos.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc,
pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
ON pe.major_id = o.object_id
JOIN sys.schemas AS s
ON o.schema_id = s.schema_id;
Ver também
Principais (Motor de Base de Dados)
sys.server_principals (Transact-SQL)
Visualizações do catálogo de segurança (Transact-SQL)
Contained Database Users - Making Your Database Portable (Utilizadores de Base de Dados Contida - Tornar a Sua Base de Dados Portátil)
Conectando-se ao SQL do Azure com a autenticação do Microsoft Entra