sp_helpuser (Transact-SQL)

Применимо к:SQL Server

Возвращает сведения об основных участниках уровня базы данных.

Внимание

sp_helpuser не возвращает сведения о защищаемых объектах, появившихся в SQL Server 2005 (9.x) и более поздних версиях. Вместо этого используйте sys.database_principals .

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

Синтаксис

sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]

Аргументы

[ @name_in_db = ] N'name_in_db'

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

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

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

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

В следующей таблице показан результирующий набор, если для @name_in_db не указана учетная запись пользователя, SQL Server или Windows.

Имя столбца Тип данных Description
UserName sysname Пользователи текущей базы данных.
RoleName sysname Роли, к которым UserName принадлежит.
LoginName sysname UserNameИмя входа.
DefDBName sysname База данных UserNameпо умолчанию .
DefSchemaName sysname Установленная по умолчанию схема пользователя базы данных.
UserID smallint UserName Идентификатор текущей базы данных.
SID smallint Идентификатор безопасности вошедшего в систему пользователя.

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

Имя столбца Тип данных Description
LoginName sysname Имена входа, назначенные пользователям текущей базы данных.
UserNameAliasedTo sysname Имя пользователя текущей базы данных, которому присвоено данное имя входа.

В следующей таблице показан результирующий набор при указании роли для @name_in_db.

Имя столбца Тип данных Description
Role_name sysname Имя роли в текущей базе данных.
Role_id smallint Идентификатор роли в текущей базе данных.
Users_in_role sysname Член роли в текущей базе данных.
Userid smallint Идентификатор пользователя для члена роли.

Замечания

Чтобы просмотреть сведения о членстве ролей базы данных, используйте sys.database_role_members. Чтобы просмотреть сведения о членах роли сервера, используйте sys.server_role_members и сведения о субъектах уровня сервера, используйте sys.server_principals.

Разрешения

Необходимо быть членом роли public.

Полученные данные подлежат ограничениям на доступ к метаданным. Сущности, в которых у субъекта нет разрешений. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Примеры

А. Вывод всех пользователей

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

EXEC sp_helpuser;

B. Перечисление сведений для одного пользователя

В следующем примере отображается информация о владельце базы данных пользователей (dbo).

EXEC sp_helpuser 'dbo';

C. Вывод сведений о роли базы данных

В следующем примере перечислены сведения о фиксированной роли базы данных db_securityadmin .

EXEC sp_helpuser 'db_securityadmin';