USER_ID (Transact-SQL)
傳回資料庫使用者的識別碼。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用 DATABASE_PRINCIPAL_ID。 |
適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure 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
請參閱
參考
sys.database_principals (Transact-SQL)