Поделиться через


sp_helplogins (Transact-SQL)

Область применения: SQL Server

Предоставляет данные об именах учетных записей и соответствующих пользователях в каждой базе данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_helplogins [ [ @LoginNamePattern = ] N'LoginNamePattern' ]
[ ; ]

Аргументы

[ @LoginNamePattern = ] N'LoginNamePattern'

@LoginNamePattern — sysname с значением по умолчаниюNULL.

Имя входа. @LoginNamePattern — sysname с значением по умолчаниюNULL. @LoginNamePattern должно существовать, если указано. Если @LoginNamePattern не указан, возвращается информация обо всех входах.

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

0 (успешно) или 1 (сбой).

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

Первый отчет содержит данные о каждой заданной учетной записи, как показано в следующей таблице.

Имя столбца Тип данных Description
LoginName sysname Имя входа.
SID varbinary(85) Идентификатор защиты имени входа (SID).
DefDBName sysname База данных по умолчанию, которая LoginName используется при подключении к экземпляру SQL Server.
DefLangName sysname Язык по умолчанию, используемый LoginName.
Auser char(5) Yes = LoginName имеет связанное имя пользователя в базе данных.

No = LoginName не имеет связанного имени пользователя.
ARemote char(7) Yes = LoginName имеет связанное удаленное имя входа.

No = LoginName не имеет связанного имени входа.

Второй отчет содержит данные о пользователях, сопоставленных с каждым из имен входа, а также ролях, членом которых является каждое имя входа, как показано в следующей таблице.

Имя столбца Тип данных Description
LoginName sysname Имя входа.
DBName sysname База данных по умолчанию, которая LoginName используется при подключении к экземпляру SQL Server.
UserName sysname Учетная запись пользователя, LoginName сопоставленная с DBNameLoginName ролью, в которую входит пользовательDBName.
UserOrAlias char(8) Член = UserName роль.

User = UserName является учетной записью пользователя.

Замечания

Перед удалением имени входа используйте sp_helplogins для идентификации учетных записей пользователей, сопоставленных с именем входа.

Разрешения

Требуется членство в предопределенных ролях сервера securityadmin .

Чтобы определить все учетные записи пользователей, сопоставленные с указанным именем входа, sp_helplogins необходимо проверить все базы данных на сервере. Однако для каждой базы данных на сервере должно выполняться как минимум одно из следующих условий.

  • Пользователь, который выполняется sp_helplogins , имеет разрешение на доступ к базе данных.

  • Учетная запись гостевого пользователя включена в базе данных.

Если sp_helplogins не удается получить доступ к базе данных, верните столько сведений, sp_helplogins сколько оно может, и отобразит сообщение об ошибке 15622.

Примеры

Следующий пример выдает данные об имени входа John.

EXEC sp_helplogins 'John';
GO

Вот результирующий набор.

LoginName SID                        DefDBName DefLangName AUser ARemote
--------- -------------------------- --------- ----------- ----- -------
John      0x23B348613497D11190C100C  master    us_english  yes   no

LoginName   DBName   UserName   UserOrAlias
---------   ------   --------   -----------
John        pubs     John       User