sp_helpuser (Transact-SQL)
Gilt für: SQL Server
Stellt Informationen zu Prinzipalen auf Datenbankebene in der aktuellen Datenbank bereit.
Wichtig
sp_helpuser
gibt keine Informationen zu sicherungsfähigen Daten zurück, die in SQL Server 2005 (9.x) und höheren Versionen eingeführt wurden. Verwenden Sie stattdessen sys.database_principals.
Transact-SQL-Syntaxkonventionen
Syntax
sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]
Argumente
[ @name_in_db = ] N'name_in_db'
Der Name der Datenbankbenutzer- oder Datenbankrolle in der aktuellen Datenbank. @name_in_db ist "sysname" mit der Standardeinstellung "NULL
. @name_in_db muss in der aktuellen Datenbank vorhanden sein. Wenn @name_in_db nicht angegeben ist, sp_helpuser
werden Informationen zu allen Datenbankprinzipalen zurückgegeben.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Die folgende Tabelle zeigt das Resultset, wenn kein Benutzerkonto, SQL Server oder Windows-Benutzer für @name_in_db angegeben wird.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
UserName |
sysname | Benutzer in der aktuellen Datenbank. |
RoleName |
sysname | Rollen, zu denen UserName gehört. |
LoginName |
sysname | Anmeldung von UserName . |
DefDBName |
sysname | Standarddatenbank von UserName . |
DefSchemaName |
sysname | Standardschema des Datenbankbenutzers. |
UserID |
smallint | ID der UserName aktuellen Datenbank. |
SID |
smallint | Sicherheits-ID (SID) des Benutzers. |
Die folgende Tabelle zeigt, wie das Resultset aussieht, wenn kein Benutzerkonto angegeben ist und Aliase in der aktuellen Datenbank vorhanden sind.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
LoginName |
sysname | Anmeldenamen, die mithilfe eines Alias mit Benutzern in der aktuellen Datenbank verknüpft sind. |
UserNameAliasedTo |
sysname | Benutzername in der aktuellen Datenbank, mit dem der Anmeldename mithilfe eines Alias verknüpft ist. |
Die folgende Tabelle zeigt das Resultset, wenn eine Rolle für @name_in_db angegeben wird.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
Role_name |
sysname | Name der Rolle in der aktuellen Datenbank. |
Role_id |
smallint | Rollen-ID für die Rolle in der aktuellen Datenbank. |
Users_in_role |
sysname | Mitglied der Rolle in der aktuellen Datenbank. |
Userid |
smallint | Benutzer-ID für das Rollenmitglied. |
Hinweise
Verwenden Sie sys.database_role_members, um Informationen zur Mitgliedschaft von Datenbankrollen anzuzeigen. Verwenden Sie sys.server_principals, um Informationen zu Serverrollenmitgliedern anzuzeigen, sys.server_role_members zu verwenden und Informationen zu Prinzipalen auf Serverebene anzuzeigen.
Berechtigungen
Erfordert die Mitgliedschaft in der public -Rolle.
Die zurückgegebenen Informationen unterliegen den Einschränkungen, die für den Zugriff auf Metadaten gelten. Entitäten, für die der Prinzipal keine Berechtigung besitzt, werden nicht angezeigt. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Beispiele
A. Alle Benutzer auflisten
Im folgenden Beispiel werden alle Benutzer in der aktuellen Datenbank aufgelistet.
EXEC sp_helpuser;
B. Auflisten von Informationen für einen einzelnen Benutzer
Im folgenden Beispiel werden Informationen zum Datenbankbesitzer (dbo
) aufgelistet.
EXEC sp_helpuser 'dbo';
C. Listeninformationen für eine Datenbankrolle
Im folgenden Beispiel werden Informationen zur db_securityadmin festen Datenbankrolle aufgelistet.
EXEC sp_helpuser 'db_securityadmin';