DATABASE_PRINCIPAL_ID (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics

此函数返回当前数据库中的主体的 ID 号。 有关主体的详细信息,请参阅主体(数据库引擎)

Transact-SQL 语法约定

语法

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

principal_name
sysname 类型的表达式,表示数据库主体。 如果省略 principal_name,DATABASE_PRINCIPAL_ID 返回当前用户的 IDDATABASE_PRINCIPAL_ID 需要使用括号。

返回类型

int
数据库主体不存在时为 NULL。

注解

在所选列表、WHERE 子句或允许使用表达式的任何位置使用 DATABASE_PRINCIPAL_ID。 有关详细信息,请参阅表达式 (Transact-SQL)

示例

A. 检索当前用户的 ID

此示例返回当前用户的数据库主体 ID。

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. 检索指定数据库主体的 ID

此示例返回数据库角色 db_owner 的数据库主体 ID。

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

另请参阅

主体(数据库引擎)
权限层次结构(数据库引擎)
sys.database_principals (Transact-SQL)