xp_logininfo (Transact-SQL)
Gibt Informationen zu Windows-Benutzern und Windows-Gruppen zurück.
Transact-SQL-Syntaxkonventionen
Syntax
xp_logininfo [ [ @acctname = ] 'account_name' ]
[ , [ @option = ] 'all' | 'members' ]
[ , [ @privilege = ] variable_name OUTPUT]
Argumente
- [ @acctname = ] 'account_name'
Der Name eines Windows-Benutzers oder einer Windows-Gruppe, dem bzw. der Zugriff auf SQL Server erteilt wurde. account_name ist vom Datentyp sysname, der Standardwert ist NULL. Wird account_name nicht angegeben, werden alle Windows-Gruppen und Windows-Benutzer ausgegeben, denen die Anmeldeberechtigung explizit erteilt wurde. account_name muss vollqualifiziert sein. Beispiel: 'ADVWKS4\macraes' oder 'VORDEFINIERT\Administratoren'.
- 'all' | 'members'
Gibt an, ob für das Konto die Informationen zu allen Berechtigungspfaden oder nur die Informationen zu den Mitgliedern der Windows-Gruppe ausgegeben werden sollen. @option ist vom Datentyp varchar(10), der Standardwert ist NULL. Sofern nicht all angegeben wurde, wird nur der erste Berechtigungspfad angezeigt.
- [ @privilege = ] variable_name
Ein Ausgabeparameter, der die Privilegstufe des angegebenen Windows-Kontos zurückgibt. variable_name ist vom Datentyp varchar(10), der Standardwert ist 'Not wanted'. Die zurückgegebene Privilegstufe ist user, admin oder null.
- OUTPUT
Wenn dieser Parameter angegeben wird, wird variable_name in den Ausgabeparameter platziert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
account name |
sysname |
Der vollqualifizierte Windows-Kontoname. |
type |
char(8) |
Der Windows-Kontotyp. Gültige Werte sind user oder group. |
privilege |
char(9) |
Das Zugriffsprivileg für SQL Server. Gültige Werte sind admin, user oder null. |
mapped login name |
sysname |
Für Benutzerkonten mit Benutzerprivileg wird mit mapped login name der zugeordnete Anmeldename angezeigt, den SQL Server bei der Anmeldung mit diesem Konto zu verwenden versucht. Dabei werden die Zuordnungsregeln mit Voranstellung des Domänennamens verwendet. |
permission path |
sysname |
Die Gruppenmitgliedschaft, die dem Konto den Zugriff ermöglicht hat. |
Hinweise
Wird account_name angegeben, meldet xp_logininfo die höchste Privilegstufe des angegebenen Windows-Benutzers bzw. der angegebenen Windows-Gruppe. Wenn ein Windows-Benutzer Zugriff als Systemadministrator und als Domänenbenutzer hat, wird er nur als Systemadministrator gemeldet. Gehört der Benutzer mehreren Windows-Gruppen derselben Privilegstufe an, wird nur die Gruppe gemeldet, der zuerst Zugriff auf SQL Server erteilt wurde.
Wenn account_name ein gültiger Windows-Benutzer oder eine gültige Windows-Gruppe ist, dem bzw. der kein SQL Server-Anmeldename zugeordnet ist, wird ein leeres Resultset zurückgegeben. Wenn account_name nicht als gültiger Windows-Benutzer oder als gültige Windows-Gruppe identifiziert werden kann, wird ein Fehler gemeldet.
Werden account_name und all angegeben, werden sämtliche Berechtigungspfade für den Windows-Benutzer oder die Windows-Gruppe zurückgegeben. Wenn account_name mehreren Gruppen angehört, denen allen Zugriff auf SQL Server erteilt wurde, werden mehrere Zeilen zurückgegeben. Die Zeilen für das admin-Privileg werden vor den Zeilen für das user-Privileg zurückgegeben. Innerhalb einer Privilegstufe werden die Zeilen in der Reihenfolge zurückgegeben, in der die entsprechenden SQL Server-Anmeldenamen erstellt wurden.
Wenn account_name und members angegeben werden, wird eine Liste der Gruppenmitglieder der nächsten Ebene zurückgegeben. Ist account_name der Name einer lokalen Gruppe, kann die Liste lokale Benutzer, Domänenbenutzer und Gruppen enthalten. Ist account_name ein Domänenkonto, besteht die Liste aus Domänenbenutzern. SQL Server muss eine Verbindung mit dem Domänencontroller herstellen, um Informationen zur Gruppenmitgliedschaft abzurufen. Falls der Server keine Verbindung mit dem Domänencontroller herstellen kann, werden keine Informationen zurückgegeben.
Berechtigungen
Mitgliedschaft in der festen Serverrolle sysadmin bzw. Mitgliedschaft in der festen Datenbankrolle public in der master-Datenbank mit erteilter EXECUTE-Berechtigung erforderlich.
Beispiele
Im folgenden Beispiel werden Informationen zur Windows-Gruppe BUILTIN\Administrators
angezeigt.
EXEC xp_logininfo 'BUILTIN\Administrators'
Siehe auch
Verweis
sp_denylogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
sp_revokelogin (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Allgemeine erweiterte gespeicherte Prozeduren (Transact-SQL)