sys.server_principals (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAnalytics 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 inmaster
  • Microsoft Entra-Administrator und SQL Server-Administrator

Die Sichtbarkeit der Metadaten in Katalogansichten ist auf sicherungsfähige Elemente beschränkt, die ein Benutzer besitzt oder für die der Benutzer eine Berechtigung erteilt hat. 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)