Kommentar
Å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 Microsoft Fabric
Returnerar en rad för varje behörighet eller kolumn-undantagsbehörighet i databasen. För kolumner finns det en rad för varje behörighet som skiljer sig från motsvarande behörighet på objektnivå. Om kolumnbehörigheten är samma som motsvarande objektbehörighet finns det ingen rad för den och den behörighet som tillämpas är objektets.
Important
Behörigheter på kolumnnivå åsidosätter behörigheter på objektnivå på samma entitet.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| class | tinyint | Identifierar klassen där behörigheten finns. Mer information finns i sys.securable_classes (Transact-SQL). 0 = Databas 1 = Objekt eller kolumn 3 = Schema 4 = Huvudnamn för databasen 5 = Sammansättning – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 6 = Typ 10 = XML-schemasamling – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 15 = Meddelandetyp – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 16 = Tjänstkontrakt – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 17 = Tjänst – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 18 = Fjärrtjänstbindning – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 19 = Route – Gäller för: SQL Server 2008 (10.0.x) och senare versioner. 23 =Full-Text Catalog – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 24 = Symmetrisk nyckel – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 25 = Certifikat – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 26 = Asymmetrisk nyckel – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 29 = Fulltext Stoplist – Gäller för: SQL Server 2008 (10.0.x) och senare versioner. 31 = Sökegenskapslista – gäller för: SQL Server 2008 (10.0.x) och senare versioner. 32 = Databasomfattande autentiseringsuppgifter – gäller för: SQL Server 2016 (13.x) och senare versioner. 34 = Externt språk – gäller för: SQL Server 2019 (15.x) och senare versioner. |
| class_desc | nvarchar(60) | Beskrivning av klassen där behörigheten finns. 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 FULLTEXT STOPLIST SEARCH PROPERTY LIST DATABASE SCOPED CREDENTIAL EXTERNAL LANGUAGE |
| major_id | int | ID för det som behörigheten finns på, tolkat enligt klass. Vanligtvis major_id helt enkelt den typ av ID som gäller för vad klassen representerar. 0 = Själva databasen >0 = Object-IDs för användarobjekt <0 = Object-IDs för systemobjekt |
| minor_id | int | Secondary-ID av det som behörigheten finns på, tolkad enligt klass. Ofta är minor_id noll, eftersom det inte finns någon underkategori tillgänglig för objektklassen. Annars är det en tabells Column-ID. |
| grantee_principal_id | int | Databashuvudnamns-ID som behörigheterna beviljas till. |
| grantor_principal_id | int | Huvud-ID för databasen för den som beviljar dessa behörigheter. |
| type | char(4) | Databasbehörighetstyp. En lista över behörighetstyper finns i nästa tabell. |
| permission_name | nvarchar(128) | Tillståndsnamn. |
| state | char(1) | Tillståndsstatus: D = Neka R = Återkalla G = Bevilja W = Bevilja med beviljandealternativ |
| state_desc | nvarchar(60) | Beskrivning av behörighetstillstånd: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Databasbehörigheter
Följande typer av behörigheter är möjliga.
| Behörighetstyp | Behörighetens namn | Gäller för skyddsbara |
|---|---|---|
| AADS | ALTER ANY DATABASEEVENT SESSION | DATABASE |
| AAMK | ÄNDRA VALFRI MASK | DATABASE |
| AEDS | ÄNDRA NÅGON EXTERNAL DATA SOURCE | DATABASE |
| AEFF | ÄNDRA NÅGON EXTERNAL FILE FORMAT | DATABASE |
| AL | ALTER | APPLICATION ROLE, , , , , , DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, , OBJEKT, REMOTE SERVICE BINDING, ROLESERVICESYMMETRIC KEYSCHEMAUSERROUTE, , CONTRACTCERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| ALAK | ÄNDRA NÅGON ASYMMETRIC KEY | DATABASE |
| ALAR | ÄNDRA NÅGON APPLICATION ROLE | DATABASE |
| ALAS | ÄNDRA NÅGON ASSEMBLY | DATABASE |
| ALCF | ÄNDRA NÅGON CERTIFICATE | DATABASE |
| ALDS | ÄNDRA ALLA DATARYMDER | DATABASE |
| ALED | ALTER ANY DATABASEEVENT NOTIFICATION | DATABASE |
| ALFT | ÄNDRA NÅGON FULLTEXT CATALOG | DATABASE |
| ALMT | ÄNDRA NÅGON MESSAGE TYPE | DATABASE |
| ALRL | ÄNDRA NÅGON ROLE | DATABASE |
| ALRT | ÄNDRA NÅGON ROUTE | DATABASE |
| ALSB | ÄNDRA NÅGON REMOTE SERVICE BINDING | DATABASE |
| ALSC | ÄNDRA NÅGON CONTRACT | DATABASE |
| ALSK | ÄNDRA NÅGON SYMMETRIC KEY | DATABASE |
| ALSM | ÄNDRA NÅGON SCHEMA | DATABASE |
| ALSV | ÄNDRA NÅGON SERVICE | DATABASE |
| ALTG | ÄNDRA VILKEN DATABASE DDL SOM HELST TRIGGER | DATABASE |
| ALUS | ÄNDRA NÅGON USER | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | BACKUP DATABASE | DATABASE |
| BALO | BACKUP LOGG | DATABASE |
| CL | CONTROL | APPLICATION ROLE, , , , , , , , MESSAGE TYPE, OBJEKT, REMOTE SERVICE BINDING, , ROLEROUTE, , SYMMETRIC KEYTYPEUSERSERVICESCHEMAFULLTEXT CATALOGDATABASECONTRACTCERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| CO | CONNECT | DATABASE |
| CORP | ANSLUTNINGSREPLIKATION | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | CREATE AGGREGATE | DATABASE |
| CRAK | CREATE ASYMMETRIC KEY | DATABASE |
| CRAS | CREATE ASSEMBLY | DATABASE |
| CRCF | CREATE CERTIFICATE | DATABASE |
| CRDB | CREATE DATABASE | DATABASE |
| CRDF | CREATE DEFAULT | DATABASE |
| CRED | CREATE DATABASE DDL EVENT NOTIFICATION | DATABASE |
| CRFN | CREATE FUNCTION | DATABASE |
| CRFT | CREATE FULLTEXT CATALOG | DATABASE |
| CRMT | CREATE MESSAGE TYPE | DATABASE |
| CRPR | CREATE PROCEDURE | DATABASE |
| CRQU | CREATE QUEUE | DATABASE |
| CRRL | CREATE ROLE | DATABASE |
| CRRT | CREATE ROUTE | DATABASE |
| CRRU | CREATE RULE | DATABASE |
| CRSB | CREATE REMOTE SERVICE BINDING | DATABASE |
| CRSC | CREATE CONTRACT | DATABASE |
| CRSK | CREATE SYMMETRIC KEY | DATABASE |
| CRSM | CREATE SCHEMA | DATABASE |
| CRSN | CREATE SYNONYM | DATABASE |
| CRSO |
gäller för: SQL Server 2012 (11.x) och senare versioner. CREATE SEQUENCE |
DATABASE |
| CRSV | CREATE SERVICE | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | CREATE TYPE | DATABASE |
| CRVW | CREATE VIEW | DATABASE |
| CRXS |
gäller för: SQL Server 2008 (10.0.x) och senare versioner. CREATE XML SCHEMA COLLECTION |
DATABASE |
| DABO | ADMINISTRERA DATABASE BULKOPERATIONER | DATABASE |
| DL | DELETE | DATABASE, OBJEKT, SCHEMA |
| EAES | KÖRA ETT EXTERNT SKRIPT | DATABASE |
| EX | EXECUTE | ASSEMBLY, DATABASE, OBJEKT, SCHEMA, TYPE, XML SCHEMA COLLECTION |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABASE, OBJEKT, SCHEMA |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLY, , , , , DATABASEFULLTEXT CATALOG, , MESSAGE TYPE, OBJEKT, SCHEMA, , SYMMETRIC KEYTYPE, CONTRACTCERTIFICATEASYMMETRIC KEYXML SCHEMA COLLECTION |
| SL | SELECT | DATABASE, OBJEKT, SCHEMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | PRENUMERERA PÅ FRÅGEMEDDELANDEN | DATABASE |
| TO | TA ÄGARSKAP | ASSEMBLY, , , , , , , OBJEKT, REMOTE SERVICE BINDING, , ROLE, SERVICESYMMETRIC KEYSCHEMATYPEROUTEMESSAGE TYPEFULLTEXT CATALOGDATABASECONTRACTCERTIFICATEASYMMETRIC KEYXML SCHEMA COLLECTION |
| UP | UPDATE | DATABASE, OBJEKT, SCHEMA |
| VW | VIEW DEFINITION | APPLICATION ROLE, , , , , , , , MESSAGE TYPE, OBJEKT, REMOTE SERVICE BINDING, , ROLEROUTE, , SYMMETRIC KEYTYPEUSERSERVICESCHEMAFULLTEXT CATALOGDATABASECONTRACTCERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| VWCK | VIEW VILKEN DEFINITION SOM COLUMN ENCRYPTION KEY helst | DATABASE |
| VWCM | VIEW VILKEN DEFINITION SOM COLUMN MASTER KEY helst | DATABASE |
| VWCT | VIEW ÄNDRINGSSPÅRNING | TABLE, SCHEMA |
| VWDS | VIEW DATABASE DELSTAT | DATABASE |
REVOKE och kolumnundantagsbehörigheter
I de flesta fall tar kommandot REVOKE bort or-posten GRANTDENY från sys.database_permissions.
Det är dock möjligt att GRANT få behörigheter DENY på ett objekt och sedan REVOKE den behörigheten på en kolumn. Denna kolumnundantagsbehörighet visas som REVOKE i sys.database_permissions. Tänk på följande exempel:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Dessa behörigheter visas i sys.database_permissions som ett GRANT (i tabellen) och ett REVOKE (i kolumnen).
Important
REVOKE skiljer sig från DENY, eftersom Sales huvudpersonen fortfarande kan ha tillgång till kolumnen via andra behörigheter. Om vi hade nekat behörigheter istället för att återkalla dem, Sales skulle vi inte kunna se innehållet i kolumnen eftersom DENY alltid GRANTersätter .
Permissions
Alla användare kan se sina egna behörigheter. För att se behörigheter för andra användare krävs VIEW DEFINITION, ÄNDRA NÅGON USER, eller någon behörighet för en användare. För att se användardefinierade roller krävs ALTER ANY ROLE, eller medlemskap i rollen (såsom offentlig).
Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. Mer information finns i konfiguration av metadatasynlighet.
Examples
A. Visa en lista över alla behörigheter för databasobjekt
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
INNER 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
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 pe.class = 1;
C. Visa en lista över behörigheter för ett specifikt objekt
Du kan använda föregående exempel för att fråga efter behörigheter som är specifika för ett enskilt databasobjekt.
Överväg till exempel följande detaljerade behörigheter som beviljats en databasanvändare test i exempeldatabasenAdventureWorksDW2025:
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Hitta de detaljerade behörigheter som tilldelats 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 pe.class = 1
AND o.name = 'vAssocSeqOrders'
AND s.name = 'dbo';
Returnerar utdata:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Se även
- Securables
- behörighetshierarki (databasmotor)
- säkerhetskatalogvyer (Transact-SQL)
- katalogvyer (Transact-SQL)