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';