USER_ID (Transact-SQL)
Restituisce il numero di identificazione per un utente del database.
Importante |
---|
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. |
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
sys.database_principals (Transact-SQL)