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


sp_helpuser (Transact-SQL)

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

Важное примечаниеВажно!

Функция sp_helpuser не возвращает сведения о защищаемых объектах, появившихся в SQL Server 2005. Для этого необходимо использовать sys.database_principals.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_helpuser [ [ @name_in_db = ] 'security_account' ]

Аргументы

  • [ @name_in_db = ] 'security_account'
    Имя пользователя или роли в текущей базе данных. Аргумент security_account должен существовать в текущей базе данных. Аргумент security_account имеет тип sysname и значение по умолчанию NULL. Если аргумент security_account не задан, функция sp_helpuser возвращает информацию обо всех участниках базы данных.

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

0 (успешное завершение) или 1 (ошибка)

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

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

Имя столбца

Тип данных

Описание

UserName

sysname

Пользователи текущей базы данных.

RoleName

sysname

Роли, к которым принадлежит UserName.

LoginName;

sysname

Имя входа данного UserName.

DefDBName

sysname

База данных по умолчанию для данного UserName.

DefSchemaName

sysname

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

UserID

smallint

Идентификатор данного UserName в текущей базе данных.

SID

smallint

Идентификационный номер безопасности для пользователя (SID).

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

Имя столбца

Тип данных

Описание

LoginName;

sysname

Имена входа, назначенные пользователям текущей базы данных.

UserNameAliasedTo

sysname

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

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

Имя столбца

Тип данных

Описание

Role_name

sysname

Имя роли в текущей базе данных.

Role_id

smallint

Идентификатор роли в текущей базе данных.

Users_in_role

sysname

Член роли в текущей базе данных.

Userid

smallint

Идентификатор пользователя для члена роли.

Замечания

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

Разрешения

Необходимо членство в роли public.

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

Примеры

A. Отображение всех пользователей

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

EXEC sp_helpuser

Б. Листинг сведений об одном пользователе

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

EXEC sp_helpuser 'dbo'

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

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

EXEC sp_helpuser 'db_securityadmin'