Partilhar via


USER_ID (Transact-SQL)

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

Observação importanteImportante

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

Ícone de vínculo de tópico Convenções de sintaxe Transact-SQL

Sintaxe

USER_ID ( [ 'user' ] )

Argumentos

  • user
    É o nome de usuário a ser usado. user é nchar. Se um valor 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, o usuário atual é assumido. 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 public). 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, consulte Expressões (Transact-SQL).

Exemplos

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

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

Consulte também

Referência

USER_NAME (Transact-SQL)

sys.database_principals (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

Funções de segurança (Transact-SQL)