DATABASE_PRINCIPAL_ID (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics
Эта функция возвращает идентификационный номер субъекта в текущей базе данных. Дополнительные сведения о субъектах см. в статье Субъекты (ядро СУБД).
Соглашения о синтаксисе Transact-SQL
Синтаксис
DATABASE_PRINCIPAL_ID ( 'principal_name' )
Аргументы
principal_name
Выражение типа sysname, представляющее субъект. Если аргумент principal_name не задан, DATABASE_PRINCIPAL_ID
возвращает идентификатор текущего пользователя. DATABASE_PRINCIPAL_ID
необходимо заключить в скобки.
Типы возвращаемых данных
int
Значение NULL, если субъект базы данных не существует.
Замечания
Используйте DATABASE_PRINCIPAL_ID
в списке выбора, предложении WHERE или любом другом месте, допускающем выражение. Дополнительные сведения см. в статье Выражения (Transact-SQL).
Примеры
А. Извлечение идентификатора текущего пользователя
В приведенном ниже примере возвращается идентификатор субъекта базы данных текущего пользователя.
SELECT DATABASE_PRINCIPAL_ID();
GO
B. Извлечение идентификатора указанного участника базы данных
В приведенном ниже примере возвращается идентификатор субъекта базы данных для роли базы данных db_owner
.
SELECT DATABASE_PRINCIPAL_ID('db_owner');
GO
См. также
Субъекты (ядро СУБД)
Иерархия разрешений (ядро СУБД)
sys.database_principals (Transact-SQL)