USER_ID (Transact-SQL)

Restituisce il numero di identificazione per un utente del database.

Nota importanteImportante

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità 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 argomento Convenzioni 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 il parametro contiene la parola NULL, restituirà NULL. Se viene chiamata dopo EXECUTE AS, la funzione USER_ID restituirà l'ID del contesto rappresentato.

Se un'entità di Windows di cui non viene eseguito il mapping 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 di cui viene eseguito il mapping 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 di cui è eseguito il mapping 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 AdventureWorks2012 Harold.

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

Vedere anche

Riferimento

USER_NAME (Transact-SQL)

sys.database_principals (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

Funzioni di sicurezza (Transact-SQL)