Condividi tramite


USER_ID (Transact-SQL)

Restituisce il numero di identificazione per un utente del database.

Nota importanteImportante

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa caratteristica in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Utilizzare DATABASE_PRINCIPAL_ID in alternativa.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

USER_ID ( [ 'user' ] )

Argomenti

  • user
    Nome utente da utilizzare. user è di tipo nchar. Se si specifica un valore di tipo char, viene eseguita la conversione implicita in nchar. È necessario utilizzare le parentesi.

Tipi restituiti

int

Osservazioni

Se user viene omesso, viene presunto che l'utente sia quello corrente. Se è inclusa la parola NULL, verrà restituito NULL. Se viene chiamata dopo EXECUTE AS, la funzione USER_ID restituirà l'ID del contesto rappresentato.

Se un'entità di Windows non mappata a uno specifico utente del database accede a un database tramite l'appartenenza a un gruppo, USER_ID restituisce 0 (ID del ruolo public). Se tale entità crea un oggetto senza specificare uno schema, SQL Server creerà un utente e uno schema impliciti mappati all'entità di Windows. L'utente creato in questo modo non può essere utilizzato per connettersi al database. Le chiamate alla funzione USER_ID da parte di un'entità di Windows mappata a un utente implicito restituiranno l'ID dell'utente implicito.

È possibile utilizzare USER_ID in un elenco di selezione, in una clausola WHERE e in tutti i casi in cui è consentita un'espressione. Per ulteriori informazioni, vedere Espressioni (Transact-SQL).

Esempi

Nell'esempio seguente viene restituito il numero di identificazione per l'utente di AdventureWorks2008R2Harold.

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