USER_ID (Transact-SQL)
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 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. |
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
sys.database_principals (Transact-SQL)