Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt eine Zeile für jede Berechtigung oder Spaltenausnahmeberechtigung in der Datenbank zurück. Für Spalten gibt es eine Zeile für jede Berechtigung, die von der entsprechenden Berechtigung auf Objektebene abweicht. Falls die Spaltenberechtigung mit der entsprechenden Objektberechtigung identisch ist, gibt es dafür keine Zeile, und es wird die Objektberechtigung angewendet.
Important
Berechtigungen auf Spaltenebene überschreiben Berechtigungen auf Objektebene in derselben Entität.
| Spaltenname | Datentyp | Description |
|---|---|---|
| class | tinyint | Identifiziert die Klasse, für die die Berechtigung vorliegt. Weitere Informationen finden Sie unter sys.securable_classes (Transact-SQL). 0 = Datenbank 1 = Objekt oder Spalte 3 = Schema 4 = Datenbankprinzipal 5 = Assembly – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 6 = Typ 10 = XML-Schemasammlung - Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen 15 = Nachrichtentyp – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 16 = Servicevertrag – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 17 = Dienst – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 18 = Remotedienstbindung – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 19 = Route – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 23 =Volltextkatalog – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 24 = Symmetrischer Schlüssel – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 25 = Zertifikat – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 26 = asymmetrischer Schlüssel – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 29 = Fulltext Stoplist – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 31 = Sucheigenschaftsliste – Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen. 32 = Anmeldeinformationen mit Datenbankbereich – Gilt für: SQL Server 2016 (13.x) und höhere Versionen. 34 = Externe Sprache – Gilt für: SQL Server 2019 (15.x) und höhere Versionen. |
| class_desc | nvarchar(60) | Beschreibung der Klasse, in der die Berechtigung vorhanden ist. 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 des Objekts, für das die Berechtigung vorhanden ist, interpretiert nach der Klasse. In der Regel ist die major_id art der ID, die für die Darstellung der Klasse gilt. 0 = Die Datenbank selbst >0 = Objekt-IDs für Benutzerobjekte <0 = Object-IDs für Systemobjekte |
| minor_id | int | Sekundäre ID des Objekts, für das die Berechtigung vorhanden ist, interpretiert nach der Klasse.
minor_id Dies ist häufig null, da für die Objektklasse keine Unterkategorie verfügbar ist. Andernfalls handelt es sich um die Spalten-ID einer Tabelle. |
| grantee_principal_id | int | Datenbankprinzipal-ID, der die Berechtigungen erteilt werden. |
| grantor_principal_id | int | Datenbankprinzipal-ID des Berechtigenden dieser Berechtigungen. |
| type | char(4) | Datenbank-Berechtigungstyp. Eine Liste der Berechtigungstypen finden Sie in der folgenden Tabelle. |
| permission_name | nvarchar(128) | Erlaubnisname. |
| state | char(1) | Erlaubnis: D = Verweigern R = Aufheben G = Erteilen W = Erteilen mit WITH GRANT OPTION |
| state_desc | nvarchar(60) | Beschreibung des Berechtigungsstatus: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Datenbankberechtigungen
Die folgenden Arten von Berechtigungen sind möglich.
| Berechtigungstyp | Berechtigungsname | Betroffenes sicherungsfähiges Element |
|---|---|---|
| AADS | ÄNDERN BELIEBIGEN DATABASEEVENT SESSION | DATABASE |
| AAMK | BELIEBIGE MASKE ÄNDERN | DATABASE |
| AEDS | JEDES ÄNDERN EXTERNAL DATA SOURCE | DATABASE |
| AEFF | JEDES ÄNDERN EXTERNAL FILE FORMAT | DATABASE |
| AL | ALTER | APPLICATION ROLE, , , , , CONTRACTDATABASE, , FULLTEXT CATALOG, , MESSAGE TYPE, OBJEKT, REMOTE SERVICE BINDING, ROLEUSERSCHEMASYMMETRIC KEYROUTESERVICECERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| ALAK | JEDES ÄNDERN ASYMMETRIC KEY | DATABASE |
| ALAR | JEDES ÄNDERN APPLICATION ROLE | DATABASE |
| ALAS | JEDES ÄNDERN ASSEMBLY | DATABASE |
| ALCF | JEDES ÄNDERN CERTIFICATE | DATABASE |
| ALDS | ÄNDERN EINES BELIEBIGEN DATENBEREICHS | DATABASE |
| ALED | ÄNDERN BELIEBIGEN DATABASEEVENT NOTIFICATION | DATABASE |
| ALFT | JEDES ÄNDERN FULLTEXT CATALOG | DATABASE |
| ALMT | JEDES ÄNDERN MESSAGE TYPE | DATABASE |
| ALRL | JEDES ÄNDERN ROLE | DATABASE |
| ALRT | JEDES ÄNDERN ROUTE | DATABASE |
| ALSB | JEDES ÄNDERN REMOTE SERVICE BINDING | DATABASE |
| ALSC | JEDES ÄNDERN CONTRACT | DATABASE |
| ALSK | JEDES ÄNDERN SYMMETRIC KEY | DATABASE |
| ALSM | JEDES ÄNDERN SCHEMA | DATABASE |
| ALSV | JEDES ÄNDERN SERVICE | DATABASE |
| ALTG | ÄNDERN SIE JEDEN DATABASE DDL TRIGGER | DATABASE |
| ALUS | JEDES ÄNDERN USER | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | BACKUP DATABASE | DATABASE |
| BALO | BACKUP LOG | DATABASE |
| CL | CONTROL | APPLICATION ROLE, , , , , CONTRACTDATABASE, , FULLTEXT CATALOG, MESSAGE TYPE, , OBJEKT, REMOTE SERVICE BINDING, ROLESYMMETRIC KEYUSERSCHEMATYPEROUTESERVICECERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| CO | CONNECT | DATABASE |
| CORP | VERBINDUNGSREPLIKATION | 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 |
Gilt für: SQL Server 2012 (11.x) und höhere Versionen. CREATE SEQUENCE |
DATABASE |
| CRSV | CREATE SERVICE | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | CREATE TYPE | DATABASE |
| CRVW | CREATE VIEW | DATABASE |
| CRXS |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen CREATE XML SCHEMA COLLECTION |
DATABASE |
| DABO | MASSNAHMEN DURCHFÜHREN DATABASE | DATABASE |
| DL | DELETE | DATABASE, OBJEKT, SCHEMA |
| EAES | AUSFÜHREN EINES BELIEBIGEN EXTERNEN SKRIPTS | 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 | ABONNIEREN VON ABFRAGEBENACHRICHTIGUNGEN | DATABASE |
| TO | ÜBERNEHMEN EIGENTUM | ASSEMBLY, , , , , , , MESSAGE TYPE, , OBJEKT, REMOTE SERVICE BINDING, , ROUTE, SCHEMATYPESYMMETRIC KEYSERVICEROLEFULLTEXT CATALOGDATABASECONTRACTCERTIFICATEASYMMETRIC KEYXML SCHEMA COLLECTION |
| UP | UPDATE | DATABASE, OBJEKT, SCHEMA |
| VW | VIEW DEFINITION | APPLICATION ROLE, , , , , CONTRACTDATABASE, , FULLTEXT CATALOG, MESSAGE TYPE, , OBJEKT, REMOTE SERVICE BINDING, ROLESYMMETRIC KEYUSERSCHEMATYPEROUTESERVICECERTIFICATEASYMMETRIC KEYASSEMBLYXML SCHEMA COLLECTION |
| VWCK | VIEWJEDE DEFINITION COLUMN ENCRYPTION KEY | DATABASE |
| VWCM | VIEWJEDE DEFINITION COLUMN MASTER KEY | DATABASE |
| VWCT | VIEW ÄNDERUNGSVERFOLGUNG | TABLE, SCHEMA |
| VWDS | VIEW DATABASE STAAT | DATABASE |
REVOKE und Spalten-Ausnahmeberechtigungen
In den meisten Fällen entfernt der REVOKE Befehl den GRANT Eintrag "oder DENY " aus sys.database_permissions.
Allerdings ist es möglich, Berechtigungen GRANTDENY auf einem Objekt oder REVOKE dann auf eine Spalte zu übertragen. Diese Spalten-Ausnahme-Erlaubnis wird wie REVOKE in sys.database_permissions angezeigt. Betrachten Sie das folgende Beispiel:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Diese Berechtigungen erscheinen in sys.database_permissions als eins GRANT (in der Tabelle) und eins REVOKE (in der Spalte).
Important
REVOKE unterscheidet sich von DENY, da der Sales Hauptmann weiterhin über andere Berechtigungen Zugriff auf die Spalte haben kann. Hätten wir die Berechtigungen verweigert, anstatt sie zu widerrufen, könnten wir den Inhalt der Spalte nicht einsehen, Sales weil DENY immer .GRANT
Permissions
Jedem Benutzer werden die eigenen Berechtigungen angezeigt. Um Berechtigungen für andere Nutzer einzusehen, ist DEFINITION, ÄNDERUNG EINES BELIEBIGEN USERoder einer Berechtigung eines Benutzers erforderlichVIEW. Um benutzerdefinierte Rollen zu sehen, ist ALTER ANY ROLEerforderlich, oder eine Mitgliedschaft in der Rolle (wie z. B. öffentlich).
Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Examples
A. Alle Berechtigungen von Datenbankprinzipalen auflisten
Mit der folgenden Abfrage werden die Berechtigungen aufgelistet, die Datenbankprinzipalen ausdrücklich gewährt oder verweigert wurden.
Important
Die Berechtigungen von festen Datenbankrollen werden in sys.database_permissions nicht angezeigt. Daher können Datenbankprinzipale über zusätzliche Berechtigungen verfügen, die hier nicht aufgeführt werden.
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. Auflisten von Berechtigungen für Schemaobjekte in einer Datenbank
Die folgende Abfrage verknüpft sys.database_principals und sys.database_permissionssys.objects und sys.schemas, um Berechtigungen auflisten, die bestimmten Schemaobjekten gewährt oder verweigert wurden.
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. Listenberechtigungen für ein bestimmtes Objekt
Sie können das vorherige Beispiel verwenden, um Berechtigungen abzufragen, die für ein einzelnes Datenbankobjekt spezifisch sind.
Betrachten Sie beispielsweise die folgenden granularen Berechtigungen, die einem Datenbankbenutzer test in der BeispieldatenbankAdventureWorksDW2025gewährt werden:
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Suchen Sie die granularen Berechtigungen, die zugewiesen sind: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';
Gibt die Ausgabe zurück:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Siehe auch
- Securables
- Berechtigungshierarchie (Datenbank-Engine)
- Sicherheitskatalogsichten (Transact-SQL)
- Katalogsichten (Transact-SQL)