xp_logininfo (Transact-SQL)

Применимо к:SQL Server

Возвращают сведения о пользователях и группах Windows.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @acctname = ] '@acctname'

Имя пользователя Или группы Windows, которому предоставлен доступ к SQL Server. @acctname имеет имя sysname с значением по умолчаниюNULL. Если @acctname не указано, сообщается обо всех группах Windows и пользователях Windows, которые были явно предоставлены разрешения на вход. @acctname должны быть полностью квалифицированы. Например, CONTOSO\macraes или BUILTIN\Administrators.

[ @option = ] 'all' | 'члены' ]

Указывает, следует ли доставлять данные обо всех путях разрешений для данной учетной записи или только сведения о членах группы Windows. @option — varchar(10) с значением по умолчаниюNULL. Если не all указано, отображается только первый путь разрешения.

[ @privilege = ] 'variable_name' OUTPUT ]

Выходной параметр, возвращающий уровень привилегий указанной учетной записи Windows. @privilege — varchar(10) с значением по умолчаниюNot wanted. Возвращаемый уровень привилегий — пользователь, администратор или null.

Если OUTPUT этот параметр указан, этот параметр помещает @privilege в выходной параметр.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Имя столбца Тип данных Description
имя учетной записи sysname Полностью уточненное имя учетной записи Windows.
type char(8) Тип учетной записи Windows. Допустимые значения — user или group.
Привилегия char(9) Доступ к привилегиям для SQL Server. Допустимые значения: admin, user или NULL.
сопоставленный имя входа sysname Для учетных записей пользователей с правами пользователя сопоставленное имя входа отображает сопоставленное имя входа, которое SQL Server пытается использовать при входе с этой учетной записью с помощью сопоставленных правил с именем домена, добавленным перед ним.
Путь к разрешениям sysname Членство в группе, разрешающее доступ к учетной записи.

Замечания

Если указан @acctname , xp_logininfo сообщает самый высокий уровень привилегий указанного пользователя или группы Windows. Если у пользователя Windows есть доступ как системный администратор, так и как пользователь домена, он сообщается как системный администратор. Если пользователь является членом нескольких групп Windows с равными привилегиями, сообщается только группа, которая была предоставлена первому доступу к SQL Server.

Если @acctname является допустимым пользователем или группой Windows, не связанной с именем входа SQL Server, возвращается пустой результирующий набор. Если @acctname не удается определить как допустимого пользователя или группы Windows, возвращается сообщение об ошибке.

Если @acctname и all указаны, возвращаются все пути разрешений для пользователя или группы Windows. Если @acctname является членом нескольких групп, все из которых получили доступ к SQL Server, возвращаются несколько строк. Строки admin привилегий возвращаются перед user строками привилегий и на уровне привилегий возвращаются в том порядке, в котором были созданы соответствующие имена входа SQL Server.

Если @acctname и members указаны, возвращается список членов группы следующего уровня. Если @acctname является локальной группой, в списке могут быть локальные пользователи, пользователи домена и группы. Если @acctname является учетной записью домена, список состоит из пользователей домена. SQL Server должен подключиться к контроллеру домена, чтобы получить сведения о членстве в группах. Если сервер не может связаться с контроллером домена, данные не возвращаются.

xp_logininfo возвращает только информацию из глобальных групп Active Directory, а не универсальных групп.

Разрешения

Требуется членство в предопределенной роли сервера sysadmin или членство в роли общедоступной предопределенной базы данных в master базе данных с предоставленным разрешением EXECUTE.

Примеры

В следующем примере отображаются сведения о BUILTIN\Administrators группе Windows.

EXEC xp_logininfo 'BUILTIN\Administrators';