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 主體的隱含使用者和結構描述。 在這種情況下建立的使用者不能用來連接到資料庫。 對應至隱含使用者的 Windows 主體對 USER_ID 的呼叫會傳回隱含使用者的識別碼。

USER_ID 可用在選取清單、WHERE 子句及任何允許使用運算式的位置中。 如需詳細資訊,請參閱<運算式 (Transact-SQL)>。

範例

下列範例會傳回 AdventureWorks2012 使用者 Harold 的識別碼。

USE AdventureWorks2012;
SELECT USER_ID('Harold');
GO

請參閱

參考

USER_NAME (Transact-SQL)

sys.database_principals (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

安全性函數 (Transact-SQL)