Compartilhar via


USER_ID (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Retorna o número de identificação para um usuário de banco de dados.

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez dele, use DATABASE_PRINCIPAL_ID.

Convenções de sintaxe de Transact-SQL

Sintaxe

USER_ID ( [ 'user' ] )  

Argumentos

user
É o nome de usuário a ser usado. user é nchar. Se um valor de char for especificado, ele será convertido implicitamente em nchar. Os parênteses são necessários.

Tipos de retorno

int

Comentários

Quando user é omitido, considera-se o usuário atual. Se o parâmetro contiver a palavra NULL, retornará NULL. Quando USER_ID é chamado depois de EXECUTE AS, USER_ID retorna a ID do contexto representado.

Quando uma entidade do Windows não é mapeada para um banco de dados específico, o usuário acessa um banco de dados por meio da associação em um grupo, USER_ID retorna 0 (a ID de público). Se esse principal criar um objeto sem especificar um esquema, o SQL Server criará um usuário e esquema implícitos mapeados para a entidade de segurança do Windows. O usuário criado em tais casos não pode ser usado para conectar ao banco de dados. As chamadas a USER_ID de um principal do Windows mapeado para um usuário implícito retornarão a ID do usuário implícito.

USER_ID pode ser usado em uma lista de seleção, em uma cláusula WHERE ou em qualquer local em que uma expressão seja permitida. Para obter mais informações, confira Expressões (Transact-SQL).

Exemplos

O exemplo a seguir retorna o número de identificação para o usuário AdventureWorks2022 do Harold.

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

Consulte Também

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