Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Returnerar en rad för varje säkerhetsobjekt i en SQL Server-databas.
Note
Microsoft Entra-ID kallades tidigare Azure Active Directory (Azure AD).
Column descriptions
| Column name | Data type | Description | 
|---|---|---|
| name | sysname | Namn på huvudnamn, unikt i databasen. | 
| principal_id | int | ID för huvudkontot, unikt i databasen. | 
| type | char(1) | Principal type: A = Programroll C = Användare mappad till ett certifikat E = Extern användare från Microsoft Entra-ID G = Windows-grupp K = Användare mappad till en asymmetrisk nyckel R = databasroll S = SQL-användare U = Windows-användare X = Extern grupp från Microsoft Entra-grupp eller -program | 
| type_desc | nvarchar(60) | Beskrivning av huvudtyp. APPLICATION_ROLE CERTIFICATE_MAPPED_USER EXTERNAL_USER WINDOWS_GROUP ASYMMETRIC_KEY_MAPPED_USER DATABASE_ROLE SQL_USER WINDOWS_USER EXTERNAL_GROUPS | 
| default_schema_name | sysname | Namn som ska användas när SQL-namnet inte anger något schema. Null för huvudkonton som inte är av typen S, U eller A. | 
| create_date | datetime | Tidpunkt då huvudkontot skapades. | 
| modify_date | datetime | Tidpunkt då huvudkontot senast ändrades. | 
| owning_principal_id | int | ID för det huvudnamn som äger det här huvudkontot. Alla fasta databasroller ägs av dbo som standard. | 
| sid | varbinary(85) | SID (säkerhetsidentifierare) för huvudkontot. NULL för SYS och INFORMATION SCHEMAN. | 
| is_fixed_role | bit | Om 1 representerar den här raden en post för en av de fasta databasrollerna: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter. | 
| authentication_type | int | gäller för: SQL Server 2012 (11.x) och senare. Betyder autentiseringstyp. Följande är möjliga värden och deras beskrivningar. 0 : Ingen autentisering 1: Instansautentisering 2 : Databasautentisering 3: Windows-autentisering 4: Microsoft Entra-autentisering | 
| authentication_type_desc | nvarchar(60) | gäller för: SQL Server 2012 (11.x) och senare. Beskrivning av autentiseringstypen. Följande är möjliga värden och deras beskrivningar. NONE: Ingen autentiseringINSTANCE: InstansautentiseringDATABASE: DatabasautentiseringWINDOWS: Windows-autentiseringEXTERNAL: Microsoft Entra-autentisering | 
| default_language_name | sysname | gäller för: SQL Server 2012 (11.x) och senare. Betyder standardspråket för det här huvudkontot. | 
| default_language_lcid | int | gäller för: SQL Server 2012 (11.x) och senare. Betyder standard-LCID för det här huvudkontot. | 
| allow_encrypted_value_modifications | bit | gäller för: SQL Server 2016 (13.x) och senare SQL Database. Undertrycker kryptografiska metadatakontroller på servern i masskopieringsåtgärder. På så sätt kan användaren masskopiera data som krypterats med Always Encrypted, mellan tabeller eller databaser, utan att dekryptera data. Standardvärdet är AV. | 
Remarks
Egenskaperna PasswordLastSetTime är tillgängliga i alla konfigurationer som stöds av SQL Server, men de andra egenskaperna är bara tillgängliga när SQL Server körs på Windows Server 2003 eller senare och både CHECK_POLICY och CHECK_EXPIRATION är aktiverade. Mer information finns i Lösenordsprincip . Värdena för principal_id kan återanvändas om huvudkontona har tagits bort och därför inte garanteras öka ständigt.
Permissions
Alla användare kan se sitt eget användarnamn, systemanvändarna och de fasta databasrollerna. Om du vill se andra användare kräver du ALTER ANY USER eller en behörighet för användaren. Om du vill se användardefinierade roller måste du ändra valfri roll eller medlemskap i rollen.
Examples
S: Lista alla behörigheter för databashuvudnamn
I följande fråga visas de behörigheter som uttryckligen beviljas eller nekas till databashuvudnamn.
Important
Behörigheterna för fasta databasroller visas inte i sys.database_permissions. Därför kan databashuvudnamn ha ytterligare behörigheter som inte visas här.
SELECT pr.principal_id, pr.name, pr.type_desc,   
    pr.authentication_type_desc, pe.state_desc, pe.permission_name  
FROM sys.database_principals AS pr  
JOIN sys.database_permissions AS pe  
    ON pe.grantee_principal_id = pr.principal_id;  
B: Visa behörigheter för schemaobjekt i en databas
Följande fråga kopplar sys.database_principals och sys.database_permissions till sys.objects och sys.schemas för att visa behörigheter som beviljats eller nekats till specifika schemaobjekt.
SELECT pr.principal_id, pr.name, pr.type_desc,   
    pr.authentication_type_desc, pe.state_desc,   
    pe.permission_name, s.name + '.' + o.name AS ObjectName  
FROM sys.database_principals AS pr  
JOIN sys.database_permissions AS pe  
    ON pe.grantee_principal_id = pr.principal_id  
JOIN sys.objects AS o  
    ON pe.major_id = o.object_id  
JOIN sys.schemas AS s  
    ON o.schema_id = s.schema_id;  
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Lista alla behörigheter för databashuvudnamn
I följande fråga visas de behörigheter som uttryckligen beviljas eller nekas till databashuvudnamn.
Important
Behörigheterna för fasta databasroller visas inte i sys.database_permissions. Därför kan databashuvudnamn ha ytterligare behörigheter som inte visas här.
SELECT pr.principal_id, pr.name, pr.type_desc,   
    pr.authentication_type_desc, pe.state_desc, pe.permission_name  
FROM sys.database_principals AS pr  
JOIN sys.database_permissions AS pe  
    ON pe.grantee_principal_id = pr.principal_id;  
D: Visa behörigheter för schemaobjekt i en databas
Följande fråga ansluter och sys.database_permissions till sys.objects och sys.schemas för att visa behörigheter som beviljats sys.database_principals eller nekats till specifika schemaobjekt.
SELECT pr.principal_id, pr.name, pr.type_desc,   
    pr.authentication_type_desc, pe.state_desc,   
    pe.permission_name, s.name + '.' + o.name AS ObjectName  
FROM sys.database_principals AS pr  
JOIN sys.database_permissions AS pe  
    ON pe.grantee_principal_id = pr.principal_id  
JOIN sys.objects AS o  
    ON pe.major_id = o.object_id  
JOIN sys.schemas AS s  
    ON o.schema_id = s.schema_id;  
See Also
              huvudnamn (databasmotor)
              sys.server_principals (Transact-SQL)
              säkerhetskatalogvyer (Transact-SQL)
              Oberoende databasanvändare – göra databasen portabel
              Ansluta till Azure SQL med Microsoft Entra-autentisering