xp_logininfo (Transact-SQL)

適用対象:SQL Server

Windows ユーザーと Windows グループに関する情報を返します。

Transact-SQL 構文表記規則

構文

xp_logininfo [ [ @acctname = ] 'account_name' ]
     [ , [ @option = ] 'all' | 'members' ]
     [ , [ @privilege = ] 'variable_name' OUTPUT ]

引数

[ @acctname = ] '@acctname'

SQL Server へのアクセスを許可された Windows ユーザーまたはグループの名前。 @acctnameは sysname で、既定値は NULL. @acctnameが指定されていない場合は、ログインアクセス許可が明示的に付与されているすべての Windows グループと Windows ユーザーが報告されます。 @acctnameは完全修飾である必要があります。 たとえば、CONTOSO\macraes、または BUILTIN\Administrators です。

[ @option = ] 'all' |'members' ]

アカウントのすべてのアクセス許可パスに関する情報を報告するか、Windows グループのメンバーに関する情報を報告するかを指定します。 @optionは varchar(10) で、既定値は NULL. 指定しない限り all 、最初のアクセス許可パスのみが表示されます。

[ @privilege = ] 'variable_name' OUTPUT ]

指定した Windows アカウントの特権レベルを返す出力パラメーター。 @privilegeは varchar(10) で、既定値は Not wanted. 返される特権レベルは 、ユーザー管理者、または null です

このオプションを指定するとOUTPUT、@privilegeが出力パラメーターに格納されます。

リターン コードの値

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

結果セット

列名 データ型 説明
アカウント名 sysname 完全修飾 Windows アカウント名。
type char(8) Windows アカウントの種類。 有効な値は、user または group
特権 char(9) SQL Server のアクセス特権。 有効な値は、adminuser、または NULL です。
マップされたログイン名 sysname ユーザー特権を持つユーザー アカウントの場合、マップされたログイン名は、マップされたルールを使用してこのアカウントでログインするときに SQL Server が使用しようとしたマップされたログイン名を、その前に追加された doメイン 名と共に表示します。
アクセス許可パス sysname アカウントアクセスを許可したグループ メンバーシップ。

解説

@acctnameが指定されている場合は、xp_logininfo指定した Windows ユーザーまたはグループの最高の特権レベルを報告します。 Windows ユーザーがシステム管理者と doメイン ユーザーの両方としてアクセス権を持っている場合は、システム管理者として報告されます。 ユーザーが同じ特権レベルの複数の Windows グループのメンバーである場合は、SQL Server へのアクセスが最初に許可されたグループのみが報告されます。

@acctnameが、SQL Server ログインに関連付けられていない有効な Windows ユーザーまたはグループである場合は、空の結果セットが返されます。 @acctname有効な Windows ユーザーまたはグループとして識別できない場合は、エラー メッセージが返されます。

@acctnameall指定されている場合は、Windows ユーザーまたはグループのすべてのアクセス許可パスが返されます。 @acctnameが複数のグループのメンバーであり、そのすべてが SQL Server へのアクセスを許可されている場合は、複数の行が返されます。 特権行は admin 特権行の user 前に返され、特権レベル内では、対応する SQL Server ログインが作成された順序で行が返されます。

@acctname指定membersされている場合は、グループの次のレベルのメンバーの一覧が返されます。 @acctnameがローカル グループの場合、一覧にはローカル ユーザー、doメイン ユーザー、グループを含めることができます。 @acctnameが doメイン アカウントの場合、一覧は doメイン ユーザーで構成されます。 グループ メンバーシップ情報を取得するには、SQL Server が doメイン コントローラーに接続する必要があります。 サーバーが doメイン コントローラーに接続できない場合、情報は返されません。

xp_logininfo は、ユニバーサル グループではなく、Active Directory グローバル グループからの情報のみを返します。

アクセス許可

SYSadmin 固定サーバー ロールのメンバーシップ、または EXECUTE 権限が付与されたデータベースのパブリック固定データベース ロールのmasterメンバーシップが必要です。

次の例では、Windows グループに関する情報を BUILTIN\Administrators 表示します。

EXEC xp_logininfo 'BUILTIN\Administrators';