Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Retourneert een rij voor elke beveiligingsprincipaal in een SQL Server-database.
Note
Microsoft Entra-id werd voorheen Azure Active Directory (Azure AD) genoemd.
Column descriptions
Column name | Data type | Description |
---|---|---|
name | sysname | Naam van principal, uniek in de database. |
principal_id | int | Id van principal, uniek in de database. |
type | char(1) | Principal type: A = Toepassingsrol C = Gebruiker toegewezen aan een certificaat E = Externe gebruiker van Microsoft Entra-id G = Windows-groep K = Gebruiker die is toegewezen aan een asymmetrische sleutel R = Databaserol S = SQL-gebruiker U = Windows-gebruiker X = Externe groep van Microsoft Entra-groep of -toepassingen |
type_desc | nvarchar(60) | Beschrijving van het principal-type. 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 | De naam die moet worden gebruikt wanneer een SQL-naam geen schema opgeeft. Null voor principals van het type S, U of A. |
create_date | datetime | Tijdstip waarop de principal is gemaakt. |
modify_date | datetime | Tijdstip waarop de principal voor het laatst is gewijzigd. |
owning_principal_id | int | Id van de principal die eigenaar is van deze principal. Alle vaste databaserollen zijn standaard eigendom van dbo . |
sid | varbinary(85) | SID (beveiligings-id) van de principal. NULL voor SYS- en INFORMATIESCHEMA'S. |
is_fixed_role | bit | Als 1, vertegenwoordigt deze rij een vermelding voor een van de vaste databaserollen: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter. |
authentication_type | int |
Van toepassing op: SQL Server 2012 (11.x) en hoger. Geeft het verificatietype aan. Hier volgen de mogelijke waarden en de bijbehorende beschrijvingen. 0: Geen verificatie 1: Instantieverificatie 2: Databaseverificatie 3: Windows-verificatie 4: Microsoft Entra-verificatie |
authentication_type_desc | nvarchar(60) |
Van toepassing op: SQL Server 2012 (11.x) en hoger. Beschrijving van het verificatietype. Hier volgen de mogelijke waarden en de bijbehorende beschrijvingen. NONE : Geen verificatieINSTANCE : InstantieverificatieDATABASE : DatabaseverificatieWINDOWS : Windows-verificatieEXTERNAL : Microsoft Entra-verificatie |
default_language_name | sysname |
Van toepassing op: SQL Server 2012 (11.x) en hoger. Hiermee wordt de standaardtaal voor deze principal opgegeven. |
default_language_lcid | int |
Van toepassing op: SQL Server 2012 (11.x) en hoger. Hiermee wordt de standaard-LCID voor deze principal opgegeven. |
allow_encrypted_value_modifications | bit |
van toepassing op: SQL Server 2016 (13.x) en hoger, SQL Database. Onderdrukt cryptografische metagegevenscontroles op de server in bulkkopiebewerkingen. Hierdoor kan de gebruiker gegevens bulksgewijs kopiëren die zijn versleuteld met Always Encrypted, tussen tabellen of databases, zonder de gegevens te ontsleutelen. De standaardwaarde is UITGESCHAKELD. |
Remarks
De eigenschappen PasswordLastSetTime zijn beschikbaar in alle ondersteunde configuraties van SQL Server, maar de andere eigenschappen zijn alleen beschikbaar wanneer SQL Server wordt uitgevoerd op Windows Server 2003 of hoger en zowel CHECK_POLICY als CHECK_EXPIRATION zijn ingeschakeld. Zie Wachtwoordbeleid voor meer informatie. De waarden van de principal_id kunnen opnieuw worden gebruikt in het geval dat principals zijn verwijderd en daarom niet gegarandeerd steeds groter worden.
Permissions
Elke gebruiker kan zijn eigen gebruikersnaam, de systeemgebruikers en de vaste databaserollen zien. Als u andere gebruikers wilt zien, moet u ALTER ANY USER of een machtiging voor de gebruiker hebben. Als u door de gebruiker gedefinieerde rollen wilt zien, moet u ALTER ANY ROLE of lidmaatschap van de rol hebben.
Examples
A: Alle machtigingen van database-principals weergeven
In de volgende query worden de machtigingen vermeld die expliciet aan database-principals zijn verleend of geweigerd.
Important
De machtigingen van vaste databaserollen worden niet weergegeven in sys.database_permissions. Database-principals hebben daarom mogelijk aanvullende machtigingen die hier niet worden vermeld.
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: Machtigingen weergeven voor schemaobjecten in een database
Met de volgende query worden sys.database_principals en sys.database_permissions toegevoegd aan sys.objects en sys.schema's om machtigingen weer te geven die aan specifieke schemaobjecten zijn verleend of geweigerd.
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;
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Alle machtigingen van database-principals weergeven
In de volgende query worden de machtigingen vermeld die expliciet aan database-principals zijn verleend of geweigerd.
Important
De machtigingen van vaste databaserollen worden niet weergegeven in sys.database_permissions
. Database-principals hebben daarom mogelijk aanvullende machtigingen die hier niet worden vermeld.
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: Machtigingen weergeven voor schemaobjecten in een database
De volgende query wordt samengevoegd sys.database_principals
en aan sys.objects
en sys.schemas
sys.database_permissions
om machtigingen weer te geven die zijn verleend aan of geweigerd voor specifieke schemaobjecten.
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
Principals (Databasemotor)
sys.server_principals (Transact-SQL)
Beveiligingscatalogusweergaven (Transact-SQL)
Ingesloten databasegebruikers: een draagbare database maken
Verbinding maken met Azure SQL met Microsoft Entra-verificatie