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'

См. также

Справочник

sp_denylogin (Transact-SQL)

sp_grantlogin (Transact-SQL)

Хранимая процедура sp_revokelogin (Transact-SQL)

Системные хранимые процедуры (Transact-SQL)

Основные расширенные хранимые процедуры (Transact-SQL)