USER_ID (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Restituisce il numero di identificazione per un utente del database.

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Utilizzare DATABASE_PRINCIPAL_ID.

Convenzioni di sintassi Transact-SQL

Sintassi

USER_ID ( [ 'user' ] )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

user
Nome utente da utilizzare. user è di tipo nchar. Se si specifica un valore char, viene eseguita la conversione implicita in nchar. Le parentesi sono obbligatorie.

Tipi restituiti

int

Osservazioni:

Se user viene omesso, viene presunto l'utente 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 è stato 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 altre informazioni, vedere Espressioni (Transact-SQL).

Esempi

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

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

Vedi anche

U edizione Standard R_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABA edizione Standard_PRINCIPAL_ID (Transact-SQL)
Funzioni di sicurezza (Transact-SQL)