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
Retourneert een rij voor elke machtiging of kolom-uitzonderingsmachtiging in de database. Voor kolommen is er een rij voor elke machtiging die verschilt van de bijbehorende machtiging op objectniveau. Als de kolommachtiging hetzelfde is als de bijbehorende objectmachtiging, is er geen rij voor en is de toegepaste machtiging dat van het object.
Important
Machtigingen op kolomniveau overschrijven machtigingen op objectniveau voor dezelfde entiteit.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| class | tinyint | Identificeert klasse waarvoor de machtiging bestaat. Zie sys.securable_classes (Transact-SQL)voor meer informatie. 0 = Database 1 = Object of Kolom 3 = Schema 4 = Database-principal 5 = Assembly - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 6 = Type 10 = XML-schemaverzameling - van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 15 = Berichttype - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 16 = Servicecontract - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 17 = Service - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 18 = Remote Service Binding - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 19 = Route - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 23 =Full-Text Catalogus - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 24 = Symmetrische sleutel - van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 25 = Certificaat - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 26 = Asymmetrische sleutel - van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 29 = Fulltext Stoplist - Van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 31 = Lijst met zoekeigenschappen - van toepassing op: SQL Server 2008 (10.0.x) en latere versies. 32 = Referentie voor databasebereik - van toepassing op: SQL Server 2016 (13.x) en latere versies. 34 = externe taal - van toepassing op: SQL Server 2019 (15.x) en latere versies. |
| class_desc | nvarchar(60) | Beschrijving van de klasse waarvoor de machtiging bestaat. DATABASE OBJECT_OR_COLUMN SCHEMA DATABASE_PRINCIPAL ASSEMBLY TYPE XML_SCHEMA_COLLECTION MESSAGE_TYPE SERVICE_CONTRACT SERVICE REMOTE_SERVICE_BINDING ROUTE FULLTEXT_CATALOG SYMMETRIC_KEYS CERTIFICATE ASYMMETRIC_KEY GEHEELTEKST UITSLUITINGSLIJST LIJST MET EIGENSCHAPPEN ZOEKEN REFERENTIE VOOR DATABASEBEREIK EXTERNE TAAL |
| major_id | int | Id van ding waarvoor de machtiging bestaat, geïnterpreteerd volgens klasse. Meestal is het major_id gewoon het type id dat van toepassing is op wat de klasse vertegenwoordigt. 0 = De database zelf >0 = Object-IDs voor gebruikersobjecten <0 = Object-IDs voor systeemobjecten |
| minor_id | int | Secondary-ID van dingen waarvoor de machtiging bestaat, geïnterpreteerd volgens klasse. Vaak is de minor_id nul, omdat er geen subcategorie beschikbaar is voor de klasse van het object. Anders is het de Column-ID van een tabel. |
| grantee_principal_id | int | Database-principal-id waaraan de machtigingen worden verleend. |
| grantor_principal_id | int | Database-principal-id van de grantor van deze machtigingen. |
| type | char(4) | Type databasemachtiging. Zie de volgende tabel voor een lijst met machtigingstypen. |
| permission_name | nvarchar(128) | Toestemming naam. |
| state | char(1) | Toestemmingsstaat: D = Weigeren R = Intrekken G = Toekenning W = Toekenning met toekenningsoptie |
| state_desc | nvarchar(60) | Beschrijving van machtigingsstatus: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Databasemachtigingen
De volgende typen machtigingen zijn mogelijk.
| Machtigingstype | Machtigingnaam | Van toepassing op beveiligbaar |
|---|---|---|
| AADS | EEN GEBEURTENISSESSIE VOOR DE DATABASE WIJZIGEN | DATABASE |
| AAMK | EEN MASKER WIJZIGEN | DATABASE |
| AEDS | EEN EXTERNE GEGEVENSBRON WIJZIGEN | DATABASE |
| AEFF | EVENTUELE EXTERNE BESTANDSINDELINGEN WIJZIGEN | DATABASE |
| AL | ALTER | TOEPASSINGSROL, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, USER, XML SCHEMA COLLECTION |
| ALAK | ASYMMETRISCHE SLEUTEL WIJZIGEN | DATABASE |
| ALAR | ELKE TOEPASSINGSROL WIJZIGEN | DATABASE |
| ALAS | ELKE ASSEMBLY WIJZIGEN | DATABASE |
| ALCF | ELK CERTIFICAAT WIJZIGEN | DATABASE |
| ALDS | ELKE DATASPACE WIJZIGEN | DATABASE |
| ALED | ELKE MELDING VOOR DATABASE-GEBEURTENIS WIJZIGEN | DATABASE |
| ALFT | ELKE VOLLEDIGE TEKSTCATALOGUS WIJZIGEN | DATABASE |
| ALMT | ELK BERICHTTYPE WIJZIGEN | DATABASE |
| ALRL | ELKE ROL WIJZIGEN | DATABASE |
| ALRT | ELKE ROUTE WIJZIGEN | DATABASE |
| ALSB | EEN EXTERNE SERVICEBINDING WIJZIGEN | DATABASE |
| ALSC | EEN CONTRACT WIJZIGEN | DATABASE |
| ALSK | ELKE SYMMETRISCHE SLEUTEL WIJZIGEN | DATABASE |
| ALSM | EEN SCHEMA WIJZIGEN | DATABASE |
| ALSV | ELKE SERVICE WIJZIGEN | DATABASE |
| ALTG | EEN DDL-TRIGGER VOOR DATABASES WIJZIGEN | DATABASE |
| ALUS | ELKE GEBRUIKER WIJZIGEN | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | BACK-UP DATABASE | DATABASE |
| BALO | BACKUPLOG | DATABASE |
| CL | CONTROL | TOEPASSINGSROL, ASSEMBLY, ASYMMETRISCHE SLEUTEL, CERTIFICAAT, CONTRACT, DATABASE, FULLTEXT-CATALOGUS, BERICHTTYPE, OBJECT, EXTERNE SERVICEBINDING, ROL, ROUTE, SCHEMA, SERVICE, SYMMETRISCHE SLEUTEL, TYPE, GEBRUIKER, XML-SCHEMAVERZAMELING |
| CO | CONNECT | DATABASE |
| CORP | CONNECTREPLICATIE | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | AGGREGATIE MAKEN | DATABASE |
| CRAK | ASYMMETRISCHE SLEUTEL MAKEN | DATABASE |
| CRAS | MAAK ASSEMBLY AAN | DATABASE |
| CRCF | CERTIFICAAT MAKEN | DATABASE |
| CRDB | DATABASE MAKEN | DATABASE |
| CRDF | STANDAARD MAKEN | DATABASE |
| CRED | DDL-GEBEURTENISMELDING VOOR DATABASE MAKEN | DATABASE |
| CRFN | MAAK FUNCTIE AAN | DATABASE |
| CRFT | VOLLEDIGE TEKSTCATALOGUS MAKEN | DATABASE |
| CRMT | BERICHTTYPE MAKEN | DATABASE |
| CRPR | Aanmaken van procedure | DATABASE |
| CRQU | WACHTRIJ MAKEN | DATABASE |
| CRRL | CREËER ROL | DATABASE |
| CRRT | Maak route aan | DATABASE |
| CRRU | REGEL MAKEN | DATABASE |
| CRSB | EXTERNE SERVICEBINDING MAKEN | DATABASE |
| CRSC | CONTRACT MAKEN | DATABASE |
| CRSK | SYMMETRISCHE SLEUTEL MAKEN | DATABASE |
| CRSM | SCHEMA MAKEN | DATABASE |
| CRSN | SYNONIEM MAKEN | DATABASE |
| CRSO |
Van toepassing op: SQL Server 2012 (11.x) en latere versies. CREATE SEQUENCE |
DATABASE |
| CRSV | SERVICE CREËREN | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | TYPE AANMAKEN | DATABASE |
| CRVW | VIEW AANMAKEN | DATABASE |
| CRXS |
van toepassing op: SQL Server 2008 (10.0.x) en latere versies. XML-SCHEMAVERZAMELING MAKEN |
DATABASE |
| DABO | DATABASE BULKBEWERKINGEN BEHEREN | DATABASE |
| DL | DELETE | DATABASE, OBJECT, SCHEMA |
| EAES | EEN EXTERN SCRIPT UITVOEREN | DATABASE |
| EX | EXECUTE | ASSEMBLY, DATABASE, OBJECT, SCHEMA, TYPE, XML SCHEMA VERZAMELING |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABASE, OBJECT, SCHEMA |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLY, ASYMMETRISCHE SLEUTEL, CERTIFICAAT, CONTRACT, DATABASE, FULLTEXT CATALOGUS, BERICHTTYPE, OBJECT, SCHEMA, SYMMETRISCHE SLEUTEL, TYPE, XML SCHEMA COLLECTIE |
| SL | SELECT | DATABASE, OBJECT, SCHEMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | MELDINGEN VOOR ABONNEREN-QUERY'S | DATABASE |
| TO | EIGENAAR | ASSEMBLY, ASYMMETRISCHE SLEUTEL, CERTIFICAAT, CONTRACT, DATABASE, FULLTEXT CATALOGUS, BERICHTTYPE, OBJECT, REMOTE SERVICE BINDING, ROL, ROUTE, SCHEMA, SERVICE, SYMMETRISCHE SLEUTEL, TYPE, XML SCHEMA COLLECTION |
| UP | UPDATE | DATABASE, OBJECT, SCHEMA |
| VW | DEFINITIE WEERGEVEN | TOEPASSINGSROL, ASSEMBLY, ASYMMETRISCHE SLEUTEL, CERTIFICAAT, CONTRACT, DATABASE, FULLTEXT-CATALOGUS, BERICHTTYPE, OBJECT, EXTERNE SERVICEBINDING, ROL, ROUTE, SCHEMA, SERVICE, SYMMETRISCHE SLEUTEL, TYPE, GEBRUIKER, XML-SCHEMAVERZAMELING |
| VWCK | ELKE DEFINITIE VAN KOLOMVERSLEUTELINGSSLEUTEL WEERGEVEN | DATABASE |
| VWCM | EEN KOLOMHOOFDSLEUTELDEFINITIE WEERGEVEN | DATABASE |
| VWCT | WIJZIGINGEN BIJHOUDEN WEERGEVEN | TABEL, SCHEMA |
| VWDS | DATABASESTATUS WEERGEVEN | DATABASE |
Machtigingen voor INTREKKEN en kolom-uitzonderingen
In de meeste gevallen wordt met de opdracht REVOKE de vermelding GRANT of DENY verwijderd uit sys.database_permissions.
Het is echter mogelijk om machtigingen voor een object toe te kennen of te weigeren en vervolgens die machtiging voor een kolom in te trekken. Deze kolom-uitzonderingsmachtiging wordt weergegeven als REVOKE in sys.database_permissions. Bekijk het volgende voorbeeld:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Deze machtigingen worden weergegeven in sys.database_permissions als één GRANT (in de tabel) en één REVOKE (in de kolom).
Important
REVOKE verschilt van DENY, omdat de Sales-principal nog steeds toegang heeft tot de kolom via andere machtigingen. Als we machtigingen hadden geweigerd in plaats van ze af te roepen, konden Sales de inhoud van de kolom niet weergeven omdat DENY altijd grant vervangt.
Permissions
Elke gebruiker kan zijn eigen machtigingen zien. Als u machtigingen voor andere gebruikers wilt zien, moet u VIEW DEFINITION, ALTER ANY USER of een machtiging voor een gebruiker hebben. Als u door de gebruiker gedefinieerde rollen wilt zien, moet u ALTER ANY ROLE of lidmaatschap van de rol (zoals openbaar) hebben.
De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.
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
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id;
B. Lijstmachtigingen 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
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id;
C. Lijstmachtigingen voor een specifiek object
U kunt het vorige voorbeeld gebruiken om query's uit te voeren op machtigingen die specifiek zijn voor één databaseobject.
Denk bijvoorbeeld aan de volgende gedetailleerde machtigingen die zijn verleend aan een databasegebruiker test in de voorbeelddatabaseAdventureWorksDW2025:
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Zoek de gedetailleerde machtigingen die zijn toegewezen aan dbo.vAssocSeqOrders:
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
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id
WHERE o.name = 'vAssocSeqOrders'
AND s.name = 'dbo';
Retourneert de uitvoer:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Zie ook
- Securables
- Machtigingshiërarchie (Database Engine)
- beveiligingscatalogusweergaven (Transact-SQL)
- catalogusweergaven (Transact-SQL)