xp_logininfo (Transact-SQL)
適用対象:SQL Server
Windows ユーザーと Windows グループに関する情報を返します。
構文
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 のアクセス特権。 有効な値は、admin 、user 、または NULL です。 |
マップされたログイン名 | sysname | ユーザー特権を持つユーザー アカウントの場合、マップされたログイン名は、マップされたルールを使用してこのアカウントでログインするときに SQL Server が使用しようとしたマップされたログイン名を、その前に追加された doメイン 名と共に表示します。 |
アクセス許可パス | sysname | アカウントアクセスを許可したグループ メンバーシップ。 |
解説
@acctnameが指定されている場合は、xp_logininfo
指定した Windows ユーザーまたはグループの最高の特権レベルを報告します。 Windows ユーザーがシステム管理者と doメイン ユーザーの両方としてアクセス権を持っている場合は、システム管理者として報告されます。 ユーザーが同じ特権レベルの複数の Windows グループのメンバーである場合は、SQL Server へのアクセスが最初に許可されたグループのみが報告されます。
@acctnameが、SQL Server ログインに関連付けられていない有効な Windows ユーザーまたはグループである場合は、空の結果セットが返されます。 @acctname有効な Windows ユーザーまたはグループとして識別できない場合は、エラー メッセージが返されます。
@acctnameがall
指定されている場合は、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';
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示