次の方法で共有


sp_helprolemember (Transact-SQL)

適用対象: SQL Server

現在のデータベースに含まれるロールの直接的なメンバーに関する情報を返します。

Transact-SQL 構文表記規則

構文

sp_helprolemember [ [ @rolename = ] N'rolename' ]
[ ; ]

引数

[ @rolename = ] N'rolename'

現在のデータベース内のロールの名前。 @rolenamesysname で、既定値は NULL です。 @rolename は、現在のデータベースに存在する必要があります。 @rolename指定されていない場合は、現在のデータベースから少なくとも 1 つのメンバーを含むすべてのロールが返されます。

リターン コードの値

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

結果セット

列名 データ型 説明
DbRole sysname 現在のデータベースのロールの名前。
MemberName sysname DbRoleのメンバーの名前。
MemberSID varbinary(85) MemberNameのセキュリティ識別子。

解説

データベースに入れ子になったロールが含まれている場合、 MemberName はロールの名前である可能性があります。 sp_helprolemember では、入れ子になったロールを通じて取得されたメンバーシップは表示されません。 たとえば、 User1Role1のメンバーであり、 Role1Role2のメンバーである場合、 EXEC sp_helprolemember 'Role2';Role1を返しますが、 Role1 のメンバーは返しません (この例ではUser1 )。 入れ子になったメンバーシップを返すには、入れ子になったロールごとに sp_helprolemember を繰り返し実行する必要があります。

sp_helpsrvrolememberを使用して、固定サーバー ロールのメンバーを表示します。

IS_ROLEMEMBERを使用して、指定したユーザーのロール メンバーシップを確認します。

アクセス許可

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

次の例では、AdventureWorks2022 データベースのSales ロールのメンバーを表示します。

EXEC sp_helprolemember 'Sales';