DATABASE_PRINCIPAL_ID (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

DATABASE_PRINCIPAL_ID ( 'principal_name' )

参数

  • principal_name
    sysname 类型的表达式,表示数据库主体。

    如果省略 principal_name,则返回当前用户的 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)

概念

主体(数据库引擎)

权限层次结构(数据库引擎)