sys.server_principals (Transact-SQL)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Analytics Platform System (PDW)
Enthält eine Zeile für jeden Prinzipal auf Serverebene.
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
name | sysname | Name des Prinzipals. Ist innerhalb eines Servers eindeutig. |
principal_id | int | Die ID des Prinzipals. Ist innerhalb eines Servers eindeutig. |
sid | varbinary(85) | Sicherheitsbezeichner (SID, Security-IDentifier) des Prinzipals. Bei einem Windows-Prinzipal entspricht dies Windows SID. |
type | char(1) | Prinzipaltyp: S = SQL-Anmeldename U = Windows-Anmeldename G = Windows-Gruppe R = Serverrolle C = Einem Zertifikat zugeordneter Anmeldename E = Externe Anmeldung von Microsoft Entra ID X = Externe Gruppe aus Microsoft Entra-Gruppe oder -Anwendungen K = Einem asymmetrischen Schlüssel zugeordneter Anmeldename |
type_desc | nvarchar(60) | Beschreibung des Prinzipaltyps: SQL_LOGIN WINDOWS_LOGIN WINDOWS_GROUP SERVER_ROLE CERTIFICATE_MAPPED_LOGIN EXTERNE ANMELDUNG EXTERNAL_GROUP ASYMMETRIC_KEY_MAPPED_LOGIN |
is_disabled | int | 1 = Anmeldename ist deaktiviert. |
create_date | datetime | Der Zeitpunkt, zu dem der Prinzipal erstellt wurde. |
modify_date | datetime | Zeitpunkt, zu dem die Prinzipaldefinition zuletzt geändert wurde. |
default_database_name | sysname | Standarddatenbank für diesen Prinzipal. |
default_language_name | sysname | Standardsprache für diesen Prinzipal. |
credential_id | int | ID von Anmeldeinformationen, die diesem Prinzipal zugeordnet sind. Falls diesem Prinzipal keine Anmeldeinformationen zugeordnet sind, ist credential_id gleich NULL. |
owning_principal_id | int | Die principal_id des Besitzers einer Serverrolle. NULL, wenn der Prinzipal keine Serverrolle ist. |
is_fixed_role | bit | Gibt 1 zurück, wenn der Prinzipal eine der integrierten Serverrollen mit festen Berechtigungen ist. Weitere Informationen finden Sie unter Rollen auf Serverebene. |
Berechtigungen
Jeder Benutzer kann seinen eigenen Anmeldenamen, die Systemanmeldenamen und die festen Serverrollen anzeigen. Zum Anzeigen anderer Anmeldenamen ist ALTER ANY LOGIN oder eine Berechtigung für den Anmeldenamen erforderlich. Zum Anzeigen benutzerdefinierter Serverrollen ist ALTER ANY SERVER ROLE oder die Mitgliedschaft in der Rolle erforderlich.
In Azure SQL-Datenbank können nur die folgenden Prinzipale alle Anmeldungen sehen:
- Mitglieder der Serverrolle ##MS_LoginManager## oder spezieller Datenbankrollen-Loginmanager in
master
- Microsoft Entra-Administrator und SQL Server-Administrator
Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Beispiele
Mit der folgenden Abfrage werden die Berechtigungen aufgelistet, die Serverprinzipalen ausdrücklich gewährt oder verweigert wurden.
Wichtig
Die Berechtigungen fester Serverrollen (außer öffentlich) werden nicht in sys.server_permissions angezeigt. Daher können Serverprinzipale über zusätzliche Berechtigungen verfügen, die hier nicht aufgeführt werden.
SELECT pr.principal_id, pr.name, pr.type_desc,
pe.state_desc, pe.permission_name
FROM sys.server_principals AS pr
JOIN sys.server_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
Hinweis
Die Berechtigungen von festen Serverrollen werden nicht in sys.server_permissions aufgeführt.
Weitere Informationen
Sicherheitskatalogsichten (Transact-SQL)
Katalogsichten (Transact-SQL)
Prinzipale (Datenbank-Engine)
Berechtigungshierarchie (Datenbank-Engine)