USER_ID (Transact-SQL)
傳回資料庫使用者的識別碼。
重要事項: |
---|
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 DATABASE_PRINCIPAL_ID。 |
語法
USER_ID ( [ 'user' ] )
引數
- 'user'
這是要使用的使用者名稱。user 是 nchar。如果指定了 char 值,它會隱含地轉換成 nchar。它必須用括號括住。
傳回類型
int
備註
當省略 user 時,會假設為目前的使用者。在 EXECUTE AS 之後呼叫 USER_ID 時,USER_ID 會傳回模擬內容的識別碼。
未對應至特定資料庫使用者的 Windows 主體藉由群組成員資格來存取資料庫時,USER_ID 會傳回 0 (public 的識別碼)。如果這類主體建立物件而不指定結構描述,SQL Server 會建立對應至 Windows 主體的隱含使用者和結構描述。在這種情況下建立的使用者不能用來連接到資料庫。對應至隱含使用者的 Windows 主體對 USER_ID 的呼叫會傳回隱含使用者的識別碼。
USER_ID 可用在選取清單、WHERE 子句及任何允許使用運算式的位置中。如需詳細資訊,請參閱<運算式 (Transact-SQL)>。
範例
下列範例會傳回 AdventureWorks
使用者 Harold
的識別碼。
USE AdventureWorks;
SELECT USER_ID('Harold');
GO
請參閱
參考
USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
安全性函數 (Transact-SQL)