sp_helpuser (Transact-SQL)

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

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

Внимание

sp_helpuser не возвращает сведения о защищаемых объектах, появившихся в SQL Server 2005 (9.x). Вместо этого используйте 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 Роли, к которым принадлежит имя пользователя .
LoginName sysname Имя входа пользователя.
DefDBName sysname База данных UserName по умолчанию.
DefSchemaName sysname Установленная по умолчанию схема пользователя базы данных.
UserID smallint Идентификатор userName в текущей базе данных.
SID smallint Идентификатор безопасности вошедшего в систему пользователя.

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

Имя столбца Тип данных Описание:
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.

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

Примеры

О. Перечисление всех пользователей

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

EXEC sp_helpuser;  

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

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

EXEC sp_helpuser 'dbo';  

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

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

EXEC sp_helpuser 'db_securityadmin';  

См. также

Хранимые процедуры безопасности (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Субъекты (ядро СУБД)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)