Partilhar via


USER_ID (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Devolve o número de identificação de um utilizador de base de dados.

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Usa DATABASE_PRINCIPAL_ID em vez disso.

Transact-SQL convenções de sintaxe

Sintaxe

USER_ID ( [ 'user' ] )  

Arguments

user
É o nome de utilizador a usar. O utilizador é NCAR. Se um valor de char for especificado, é implicitamente convertido em nchar. Os parênteses são obrigatórios.

Tipos de devolução

int

Observações

Quando o utilizador é omitido, assume-se o utilizador atual. Se o parâmetro contiver a palavra, NULL devolverá NULL. Quando USER_ID é chamado após EXECUTE AS, USER_ID devolve o ID do contexto personificado.

Quando um principal do Windows que não está mapeado para um utilizador específico da base de dados acede a uma base de dados através da pertença a um grupo, USER_ID retorna 0 (o ID do público). Se tal principal criar um objeto sem especificar um esquema, o SQL Server criará um utilizador implícito e o esquema será mapeado para o principal do Windows. O utilizador criado nestes casos não pode ser usado para se ligar à base de dados. Chamadas para USER_ID por um principal do Windows mapeadas a um utilizador implícito devolverão o ID do utilizador implícito.

USER_ID podem ser usados numa lista de seleção, numa cláusula WHERE e em qualquer lugar onde uma expressão seja permitida. Para obter mais informações, consulte Expressões (Transact-SQL).

Examples

O exemplo seguinte devolve o número de identificação do AdventureWorks2025 utilizador Harold.

USE AdventureWorks2022;  
SELECT USER_ID('Harold');  
GO  

Ver também

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Funções de segurança (Transact-SQL)