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. |
type |
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 должен подключиться к контроллеру домена, чтобы получить сведения о членстве в группе. Если сервер не может подключиться к контроллеру домена, никакие сведения не возвращаются.
Разрешения
Требует членства в фиксированной серверной роли 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)