次の方法で共有


sp_helpuser (Transact-SQL)

現在のデータベースに存在するデータベース レベルのプリンシパルに関する情報をレポートします。

重要な注意事項重要

sp_helpuser では、SQL Server 2005 に導入されたセキュリティ保護可能なリソースに関する情報は返されません。代わりに sys.database_principals を使用してください。

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

構文

sp_helpuser [ [ @name_in_db = ] 'security_account' ]

引数

  • [ @name_in_db = ] 'security_account'
    現在のデータベースに存在するデータベース ユーザーまたはデータベース ロールの名前を指定します。security_account は現在のデータベースに存在している必要があります。security_account のデータ型は sysname で、既定値は NULL です。security_account を指定しない場合、sp_helpuser ではすべてのデータベース プリンシパルに関する情報が返されます。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

次の表は、security_account に対して、ユーザー アカウントおよび SQL Server ユーザーまたは Windows ユーザーをどちらも指定しない場合の結果セットです。

列名

データ型

説明

UserName

sysname

現在のデータベースに存在するユーザー。

RoleName

sysname

UserName が属するロール。

LoginName

sysname

UserName のログイン。

DefDBName

sysname

UserName の既定のデータベース。

DefSchemaName

sysname

データベース ユーザーの既定のスキーマ。

UserID

smallint

現在のデータベースに存在する UserName の ID。

SID

smallint

ユーザーのセキュリティ識別番号 (SID)。

次の表は、ユーザー アカウントを指定せず、別名が現在のデータベース内に存在する場合の結果セットです。

列名

データ型

説明

LoginName

sysname

現在のデータベースに存在するユーザーの別名であるログイン。

UserNameAliasedTo

sysname

ログインを別名として使用する、現在のデータベース内のユーザー名。

次の表は、security_account でロールを指定した場合の結果セットです。

列名

データ型

説明

Role_name

sysname

現在のデータベースに存在するロールの名前。

Role_id

smallint

現在のデータベースに存在するロールの ID。

Users_in_role

sysname

現在のデータベースに存在するロールのメンバ。

Userid

smallint

ロールのメンバのユーザー ID。

説明

データベース ロールのメンバシップに関する情報を表示するには、sys.database_role_members を使用します。サーバー ロールのメンバに関する情報を表示するには sys.server_role_members、サーバーレベルのプリンシパルに関する情報を表示するには sys.server_principals を使用します。

権限

public ロールのメンバシップが必要です。

返される情報は、メタデータへのアクセスに関する制限の対象となります。プリンシパルに権限がないエンティティは表示されません。詳細については、「メタデータ表示の構成」を参照してください。

A. すべてのユーザーを表示する

次の例では、現在のデータベースに存在するすべてのユーザーを表示します。

EXEC sp_helpuser

B. 特定のユーザーの情報を表示する

次の例では、ユーザー データベース所有者 dbo に関する情報を表示します。

EXEC sp_helpuser 'dbo'

C. データベース ロールに関する情報を表示する

次の例では、db_securityadmin 固定データベース ロールに関する情報を表示します。

EXEC sp_helpuser 'db_securityadmin'