sp_helpuser (Transact-SQL)
現在のデータベースに存在するデータベース レベルのプリンシパルに関する情報をレポートします。
重要 |
---|
sp_helpuser では、SQL Server 2005 に導入されたセキュリティ保護可能なリソースに関する情報は返されません。代わりに sys.database_principals を使用してください。 |
構文
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'