適用対象:SQL Server
現在のデータベースに含まれるロールの直接的なメンバーに関する情報を返します。
構文
sp_helprolemember [ [ @rolename = ] N'rolename' ]
[ ; ]
引数
[ @rolename = ] N'rolename'
現在のデータベース内のロールの名前。
@rolename は sysname で、既定値は NULL です。
@rolename は、現在のデータベースに存在する必要があります。
@rolename指定されていない場合は、現在のデータベースから少なくとも 1 つのメンバーを含むすべてのロールが返されます。
リターン コードの値
0 (成功) または 1 (失敗)。
結果セット
| 列名 | データ型 | 説明 |
|---|---|---|
DbRole |
sysname | 現在のデータベースのロールの名前。 |
MemberName |
sysname |
DbRoleのメンバーの名前。 |
MemberSID |
varbinary(85) |
MemberNameのセキュリティ識別子。 |
解説
データベースに入れ子になったロールが含まれている場合、 MemberName はロールの名前である可能性があります。
sp_helprolemember では、入れ子になったロールを通じて取得されたメンバーシップは表示されません。 たとえば、 User1 が Role1のメンバーであり、 Role1 が Role2のメンバーである場合、 EXECUTE sp_helprolemember 'Role2'; は Role1を返しますが、 Role1 のメンバーは返しません (この例ではUser1 )。 入れ子になったメンバーシップを返すには、入れ子になったロールごとに sp_helprolemember を繰り返し実行する必要があります。
sp_helpsrvrolememberを使用して、固定サーバー ロールのメンバーを表示します。
IS_ROLEMEMBERを使用して、指定したユーザーのロール メンバーシップを確認します。
アクセス許可
ロール public のメンバーシップが必要です。
例
次の例では、Sales データベースのAdventureWorks2022 ロールのメンバーを表示します。
EXECUTE sp_helprolemember 'Sales';