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';
В. Вывод сведений о роли базы данных
В следующем примере перечислены сведения о фиксированной роли базы данных db_securityadmin .
EXEC sp_helpuser 'db_securityadmin';