Freigeben über


sys.server_principals (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance 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) Sicherheits-ID (SID) des Prinzipals.
Die SID eines Windows-Prinzipals stimmt mit der Windows-SID überein.
Die SID einer Microsoft Entra-Benutzeridentität ist die binäre Darstellung der Microsoft Entra-Objekt-ID.
Die SID einer Microsoft Entra-Gruppe ist die binäre Darstellung ihrer Microsoft Entra-Objekt-ID.
Die SID einer Microsoft Entra-Anwendung ist die binäre Darstellung ihrer Microsoft Entra-Client-ID.
type char(1) Prinzipaltyp:

S = SQL-Anmeldename
R = Serverrolle

Verfügbar in SQL Server, Azure SQL verwaltete Instanz und PDW (In der Vorschau in Azure SQL-Datenbank):
E = Externe Anmeldung oder Anwendung von Microsoft Entra ID
X = Externe Gruppe von Microsoft Entra ID

Verfügbar in SQL Server, Azure SQL verwaltete Instanz und PDW (nicht Azure SQL-Datenbank):
U = Windows-Anmeldename
G = Windows-Gruppe
C = Einem Zertifikat zugeordneter Anmeldename
K = Einem asymmetrischen Schlüssel zugeordneter Anmeldename
type_desc nvarchar(60) Beschreibung des Prinzipaltyps:

SQL_LOGIN
SERVER_ROLE

Verfügbar in SQL Server, Azure SQL verwaltete Instanz und PDW (In der Vorschau in Azure SQL-Datenbank):
EXTERNE ANMELDUNG
EXTERNAL_GROUP

Verfügbar in SQL Server, Azure SQL verwaltete Instanz und PDW (nicht Azure SQL-Datenbank):
WINDOWS_LOGIN
WINDOWS_GROUP
CERTIFICATE_MAPPED_LOGIN
ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = Anmeldename ist deaktiviert.
0 = Anmeldung ist aktiviert.
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 den Prinzipal.
default_language_name sysname Standardsprache für den Prinzipal.
credential_id int ID einer Anmeldeinformation, die dem Prinzipal zugeordnet ist. Wenn diesem Prinzipal keine Anmeldeinformationen zugeordnet sind, ist credential_id 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. Das Anzeigen anderer Anmeldungen erfordert ALTER ANY LOGIN oder eine Berechtigung für die Anmeldung. Das Anzeigen benutzerdefinierter Serverrollen erfordert ALTER ANY SERVER ROLE oder mitgliedschaft in der Rolle.

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 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.

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;  

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.

Sicherheitskatalogsichten (Transact-SQL)
Katalogsichten (Transact-SQL)
Prinzipale (Datenbank-Engine)
Berechtigungshierarchie (Datenbank-Engine)