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)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по