DATABASE_PRINCIPAL_ID (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

Diese Funktion gibt die ID-Nummer eines Prinzipals in der aktuellen Datenbank zurück. Weitere Informationen zu Prinzipalen finden Sie unter Prinzipale (Datenbank-Engine).

Transact-SQL-Syntaxkonventionen

Syntax

DATABASE_PRINCIPAL_ID ( 'principal_name' )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

principal_name
Ein Ausdruck vom Typ sysname, der den Prinzipal darstellt. Ist principal_name nicht angegeben, gibt DATABASE_PRINCIPAL_ID die ID des aktuellen Benutzers zurück. Für DATABASE_PRINCIPAL_ID sind die Klammern erforderlich.

Rückgabetypen

int
NULL, wenn der Datenbankprinzipal nicht vorhanden ist.

Hinweise

Verwenden Sie DATABASE_PRINCIPAL_ID in einer Auswahlliste, in einer WHERE-Klausel oder an einer beliebigen Stelle, an der ein Ausdruck zulässig ist. Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL).

Beispiele

A. Abrufen der ID des aktuellen Benutzers

In diesem Beispiel wird die Datenbankprinzipal-ID des aktuellen Benutzers zurückgegeben.

SELECT DATABASE_PRINCIPAL_ID();  
GO  

B. Abrufen der ID eines angegebenen Datenbankprinzipals

In diesem Beispiel wird die Datenbankprinzipal-ID für die Datenbankrolle db_owner zurückgegeben.

SELECT DATABASE_PRINCIPAL_ID('db_owner');  
GO  

Weitere Informationen

Prinzipale (Datenbank-Engine)
Berechtigungshierarchie (Datenbank-Engine)
sys.database_principals (Transact-SQL)