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)