USER_ID (Transact-SQL)
データベース ユーザーの ID 番号を返します。
重要 : |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに DATABASE_PRINCIPAL_ID を使用してください。 |
構文
USER_ID ( [ 'user' ] )
引数
- 'user'
使用するユーザー名を指定します。user のデータ型は nchar です。char 型の値を指定した場合は、暗黙的に nchar 型に変換されます。かっこは必ず使用します。
戻り値の型
int
解説
user を省略した場合は、現在のユーザーであると仮定されます。EXECUTE AS の後で USER_ID が呼び出された場合、USER_ID では借用したコンテキストの ID が返されます。
特定のデータベース ユーザーにマップされない Windows プリンシパルがグループのメンバシップでデータベースにアクセスした場合、USER_ID では 0 (public の ID) が返されます。このプリンシパルがスキーマを指定せずにオブジェクトを作成した場合、SQL Server では Windows プリンシパルにマップされた暗黙のユーザーとスキーマが作成されます。このときに作成されたユーザーを使用して、データベースに接続することはできません。暗黙のユーザーにマップされた Windows プリンシパルが USER_ID を呼び出すと、暗黙のユーザーの ID が返されます。
USER_ID は、選択リスト、WHERE 句、また、式を使える所ならどこにでも使用できます。詳細については、「式 (Transact-SQL)」を参照してください。
例
次の例では、AdventureWorks
ユーザー Harold
の ID 番号が返されます。
USE AdventureWorks;
SELECT USER_ID('Harold');
GO
参照
関連項目
USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
セキュリティ関数 (Transact-SQL)