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_revokelogin (Transact-SQL)