xp_logininfo (Transact-SQL)

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

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

構文

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

引数

  • [ @acctname = ] 'account_name'
    SQL Server へのアクセスが許可されている Windows ユーザーまたはグループの名前を指定します。account_name のデータ型は sysname で、既定値は NULL です。account_name を指定しない場合は、明示的にログイン権限が許可されているすべての Windows グループと Windows ユーザーがレポートされます。account_name は完全修飾名にする必要があります。たとえば、「ADVWKS4\macraes」または「BUILTIN\Administrators」のように指定します。

  • 'all' | 'members'
    アカウントに対するすべての権限のパスに関する情報をレポートするのか、または Windows のグループのメンバーに関する情報をレポートするのかを指定します。@option のデータ型は varchar(10) で、既定値は NULL です。all を指定しない限り、最初の権限のパスだけが表示されます。

  • [ @privilege = ] variable_name
    指定した Windows アカウントの特権レベルを返す出力パラメーターを指定します。variable_name のデータ型は varchar(10) で、既定値は 'Not wanted' です。返される特権レベルは useradmin、または null です。

  • OUTPUT
    指定する場合、variable_name を出力パラメーターとして設定します。

戻り値

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

結果セット

列名

データ型

説明

account name

sysname

Windows アカウントの完全修飾名。

char(8)

Windows アカウントの種類。有効な値は、user または group です。

privilege

char(9)

SQL Server に対するアクセス権限。有効な値は adminuser、または null です。

mapped login name

sysname

ユーザー特権を持ったユーザー アカウントの場合、このアカウントでログインするときに SQL Server で使用される、マッピングされたログイン名が mapped login name に示されます。このとき、ログイン名の前に追加されるドメイン名に関連するマッピングの規則が適用されます。

permission path

sysname

アカウントのアクセスを許可したグループのメンバーシップ。

説明

account_name を指定した場合、xp_logininfo では指定の Windows ユーザーまたはグループの最も高い権限レベルがレポートされます。Windows ユーザーに、システム管理者とドメイン ユーザーの両方のアクセス権限がある場合は、システム管理者としてレポートされます。ユーザーが同じ権限レベルの複数の Windows グループのメンバーである場合は、SQL Server へのアクセスを最初に許可されたグループだけがレポートされます。

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

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

account_name と members を指定した場合は、グループの次のレベルのメンバーを示す一覧が返されます。account_name がローカル グループの場合、一覧にはローカル ユーザー、ドメイン ユーザー、およびグループが含まれる可能性があります。account_name がドメイン アカウントの場合、一覧はドメイン ユーザーで構成されます。SQL Server ではドメイン コントローラーに接続してグループのメンバーシップ情報を取得する必要があります。サーバーがドメイン コントローラーと通信できない場合、情報は返されません。

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

権限

sysadmin 固定サーバー ロールのメンバーシップ、または EXECUTE 権限を持つ master データベースの public 固定データベース ロールのメンバーシップが必要です。

使用例

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

EXEC xp_logininfo 'BUILTIN\Administrators'