USER_ID (Transact-SQL)

Zwraca numer identyfikacyjny użytkownika bazy danych.

Ważna informacjaWażne:

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użycie DATABASE_PRINCIPAL_ID w zamian.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

USER_ID ( [ 'user' ] )

Argumenty

  • user
    To nazwa użytkownika ma być używany.useris nchar.Jeśli char określona wartość jest niejawnie konwertowane na nchar.Nawiasy są wymagane.

Zwracane typy

int

Uwagi

Gdy user jest pominięta, zakłada bieżącego użytkownika.Po wywołaniu po EXECUTE jako USER_ID USER_ID zwróci identyfikator kontekście personifikowanego.

Gdy podmiot systemu Windows, która nie jest mapowany na użytkownika określonej bazy danych uzyskuje dostęp do bazy danych z członkostwa w grupie, USER_ID zwraca wartość 0 (identyfikator public).Jeśli taki podmiot tworzy obiekt bez określenia schematu, SQL Server utworzy domniemaną i schemat mapowane do głównej systemu Windows.Użytkownika utworzone w takich przypadkach nie można połączyć z bazą danych.Wywołania USER_ID przez Windows głównych mapowane do niejawnych użytkownika zwróci identyfikator użytkownika niejawne.

USER_ID mogą być używane na liście select, w przypadku gdy klauzulai dowolnym wyrażenie jest dozwolone.Aby uzyskać więcej informacji, zobacz Wyrażenia języka Transact-SQL).

Przykłady

Poniższy przykład zwraca numer identyfikacyjny AdventureWorks2008R2 użytkownika Harold.

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