USER_ID (Transact-SQL)
Возвращает идентификатор пользователя базы данных.
Важно! |
---|
В будущей версии Microsoft 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).
Примеры
В следующем примере возвращается идентификатор пользователя Harold базы данных AdventureWorks2012.
USE AdventureWorks2012;
SELECT USER_ID('Harold');
GO
См. также
Справочник
sys.database_principals (Transact-SQL)