次の方法で共有


USER_ID (Transact-SQL)

データベース ユーザーの ID 番号を返します。

重要な注意事項重要

この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりに DATABASE_PRINCIPAL_ID を使用してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

USER_ID ( [ 'user' ] )

引数

  • user
    使用するユーザー名を指定します。 user のデータ型は nchar です。 char 型の値を指定した場合は、暗黙的に nchar 型に変換されます。 かっこは必ず使用します。

戻り値の型

int

説明

user を省略した場合は、現在のユーザーであると仮定されます。 パラメーターに NULL が含まれていると、NULL が返されます。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)」を参照してください。

使用例

次の例では、AdventureWorks2012 ユーザー Harold の ID 番号が返されます。

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

関連項目

参照

USER_NAME (Transact-SQL)

sys.database_principals (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

セキュリティ関数 (Transact-SQL)