Поделиться через


USER_ID (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Возвращает идентификационный номер пользователя базы данных.

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Используйте вместо этого DATABASE_PRINCIPAL_ID.

Соглашения о синтаксисе Transact-SQL

Синтаксис

USER_ID ( [ 'user' ] )  

Аргументы

user
Используемое имя пользователя. Аргумент user имеет тип nchar. Если указано значение типа char, оно неявно преобразуется в тип nchar. Необходимо поставить скобки.

Типы возвращаемых данных

int

Замечания

Если аргумент user опущен, подразумевается текущий пользователь. Если параметр содержит слово NULL, то возвращается NULL. При вызове USER_ID после EXECUTE AS, USER_ID возвращает идентификатор олицетворенного контекста.

Если участник Windows, не сопоставленный с указанным пользователем базы данных, получает доступ к базе данных через участие в группе, функция USER_ID возвращает значение 0 (идентификатор пользователя public). Если такой участник создает объект без указания схемы, SQL Server создаст неявное сопоставление пользователя и схемы с участником Windows. Пользователь, созданный таким образом, не может быть использован для подключения к базе данных. Вызовы функции USER_ID участником Windows, сопоставленным с неявным пользователем, возвратят идентификатор неявного пользователя.

Функцию USER_ID можно использовать в списке выбора, в предложении WHERE и в любом месте, где разрешается выражение. Дополнительные сведения см. в статье Выражения (Transact-SQL).

Примеры

В следующем примере возвращается идентификатор пользователя AdventureWorks2022 базы данных Harold.

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

См. также

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
Функция безопасности (Transact-SQL)