sp_helpuser (Transact-SQL)
Возвращает сведения об основных участниках уровня базы данных.
Важно! |
---|
Функция sp_helpuser не возвращает сведения о защищаемых объектах, появившихся в SQL Server 2005. Для этого необходимо использовать sys.database_principals. |
Синтаксис
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'
См. также