xp_logininfo (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • [ @acctname = ] 'account_name'
    Имя пользователя или группы Windows, которым предоставлен доступ к SQL Server. Аргумент account_name имеет тип sysname и значение по умолчанию NULL. Если аргумент account_name не указан, отчет составляется обо всех группах и пользователях, которым явным образом было предоставлено разрешение на вход. Аргумент account_name должен быть полным. Например, 'ADVWKS4\macraes' или 'BUILTIN\Administrators'.

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

  • [ @privilege = ] variable_name
    Выходной параметр, возвращающий уровень прав доступа для указанной учетной записи Windows. Аргумент variable_name имеет тип varchar(10) и значение по умолчанию «Not wanted». Возвращаемый уровень прав доступа может иметь значение user, admin или null.

  • OUTPUT
    Если указано, то в качестве выходного параметра используется аргумент variable_name.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

Имя столбца

Тип данных

Описание

account name

sysname

Полностью уточненное имя учетной записи Windows.

тип

char(8)

Тип учетной записи Windows. Допустимыми являются значения user или group.

privilege

char(9)

Права доступа к SQL Server. Допустимыми являются значения admin, user или null.

mapped login name

sysname

Для учетных записей с пользовательскими привилегиями столбец mapped login name содержит сопоставленное имя входа, которое SQL Server пытается использовать с данной учетной записью для входа в систему с помощью правил сопоставления, по которым в начало имени добавляется имя домена.

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 или в предопределенной роли public в базе данных master с разрешением EXECUTE.

Примеры

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

EXEC xp_logininfo 'BUILTIN\Administrators'