DATABASE_PRINCIPAL_ID (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse Analytics

此函式會傳回目前資料庫中的主體識別碼。 如需主體的詳細資訊,請參閱主體 (資料庫引擎)

Transact-SQL 語法慣例

Syntax

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

principal_name
代表主體,類型為 sysname 的運算式。 若省略 principal_nameDATABASE_PRINCIPAL_ID 會傳回目前使用者的識別碼。 DATABASE_PRINCIPAL_ID 需要括弧。

傳回類型

int
如果資料庫主體不存在,則為 NULL。

備註

您可以在 SELECT 清單、WHERE 子句或允許運算式的任何位置使用 DATABASE_PRINCIPAL_ID。 如需詳細資訊,請參閱 Expressions (Transact-SQL)

範例

A. 擷取目前使用者的識別碼

此範例會傳回目前使用者的資料庫主體識別碼。

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. 擷取指定資料庫主體的識別碼

此範例會傳回資料庫角色 db_owner 的資料庫主體識別碼。

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

請參閱

主體 (資料庫引擎)
權限階層 (Database Engine)
sys.database_principals (Transact-SQL)