sys.database_permissions (Transact-SQL)
Gilt für: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platform System (PDW)
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. Wenn die Spaltenberechtigung mit der entsprechenden Objektberechtigung identisch ist, gibt es keine Zeile dafür, und die angewendete Berechtigung ist die des -Objekts.
Wichtig
Berechtigungen auf Spaltenebene überschreiben Berechtigungen auf Objektebene in derselben Entität.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
class | tinyint | Gibt die Klasse an, für die die Berechtigung vorhanden ist. 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öher. 6 = Typ 10 = XML-Schemaauflistung – Gilt für: SQL Server 2008 (10.0.x) und höher 15 = Nachrichtentyp : Gilt für: SQL Server 2008 (10.0.x) und höher. 16 = Dienstvertrag : Gilt für: SQL Server 2008 (10.0.x) und höher. 17 = Dienst : Gilt für: SQL Server 2008 (10.0.x) und höher. 18 = Remotedienstbindung : Gilt für: SQL Server 2008 (10.0.x) und höher. 19 = Route : Gilt für: SQL Server 2008 (10.0.x) und höher. 23 =Volltextkatalog – Gilt für: SQL Server 2008 (10.0.x) und höher. 24 = Symmetrischer Schlüssel – Gilt für: SQL Server 2008 (10.0.x) und höher. 25 = Zertifikat : Gilt für: SQL Server 2008 (10.0.x) und höher. 26 = asymmetrischer Schlüssel : Gilt für: SQL Server 2008 (10.0.x) und höher. 29 = Volltext-Stoppliste : Gilt für: SQL Server 2008 (10.0.x) und höher. 31 = Sucheigenschaftenliste : Gilt für: SQL Server 2008 (10.0.x) und höher. 32 = Datenbankbezogene Anmeldeinformationen: Gilt für: SQL Server 2008 (10.0.x) und höher. 34 = Externe Sprache: Gilt für: SQL Server 2008 (10.0.x) und höher. |
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 einfach die Art der ID, die für das gilt, was die -Klasse darstellt. 0 = Die Datenbank selbst >0 = Object-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. Häufig ist der minor_id null, da für die Objektklasse keine Unterkategorie verfügbar ist. Andernfalls ist dies 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) | Berechtigungsname. |
state | char(1) | Der Berechtigungsstatus: D = Verweigern R = Aufheben G = Erteilen W = Erteilen mit WITH GRANT OPTION |
state_desc | nvarchar(60) | Beschreibung des Berechtigungsstatus: VERWEIGERN REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Datenbankberechtigungen
Die folgenden Berechtigungstypen sind möglich.
Berechtigungstyp | Berechtigungsname | Betroffenes sicherungsfähiges Element |
---|---|---|
AADS | ALTER ANY DATABASE EVENT SESSION | DATABASE |
AAMK | ALTER ANY MASK | DATABASE |
AEDS | ALTER ANY EXTERNAL DATA SOURCE | DATABASE |
AEFF | ALTER ANY EXTERNAL FILE FORMAT | DATABASE |
AL | ALTER | APPLICATION ROLE, 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 | ALTER ANY ASYMMETRIC KEY | DATABASE |
ALAR | ALTER ANY APPLICATION ROLE | DATABASE |
ALAS | ALTER ANY ASSEMBLY | DATABASE |
ALCF | ALTER ANY CERTIFICATE | DATABASE |
ALDS | ALTER ANY DATASPACE | DATABASE |
ALED | ALTER ANY DATABASE EVENT NOTIFICATION | DATABASE |
ALFT | ALTER ANY FULLTEXT CATALOG | DATABASE |
ALMT | ALTER ANY MESSAGE TYPE | DATABASE |
ALRL | ALTER ANY ROLE | DATABASE |
ALRT | ALTER ANY ROUTE | DATABASE |
ALSB | ALTER ANY REMOTE SERVICE BINDING | DATABASE |
ALSC | ALTER ANY CONTRACT | DATABASE |
ALSK | ALTER ANY SYMMETRIC KEY | DATABASE |
ALSM | ALTER ANY SCHEMA | DATABASE |
ALSV | ALTER ANY SERVICE | DATABASE |
ALTG | ALTER ANY DATABASE DDL TRIGGER | DATABASE |
ALUS | ALTER ANY USER | DATABASE |
AUTH | AUTHENTICATE | DATABASE |
BADB | BACKUP DATABASE | DATABASE |
BALO | BACKUP LOG | DATABASE |
CL | CONTROL | APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, USER, XML SCHEMA COLLECTION |
CO | CONNECT | DATABASE |
CORP | CONNECT REPLICATION | 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öher. 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öher CREATE XML SCHEMA COLLECTION |
DATABASE |
DABO | ADMINISTER DATABASE BULK OPERATIONS | DATABASE |
DL | Delete | DATABASE, OBJECT, SCHEMA |
EAES | EXECUTE ANY EXTERNAL SCRIPT | DATABASE |
EX | Führen Sie | ASSEMBLY, DATABASE, OBJECT, SCHEMA, TYPE, XML SCHEMA COLLECTION |
IM | IMPERSONATE | USER |
IN | INSERT | DATABASE, OBJECT, SCHEMA |
RC | RECEIVE | OBJECT |
RF | REFERENCES | ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, SCHEMA, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION |
SL | SELECT | DATABASE, OBJECT, SCHEMA |
SN | SEND | SERVICE |
SPLN | SHOWPLAN | DATABASE |
SUQN | SUBSCRIBE QUERY NOTIFICATIONS | DATABASE |
TO | TAKE OWNERSHIP | ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION |
UP | UPDATE | DATABASE, OBJECT, SCHEMA |
VW | VIEW DEFINITION | APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, USER, XML SCHEMA COLLECTION |
VWCK | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | DATABASE |
VWCM | VIEW ANY COLUMN MASTER KEY DEFINITION | DATABASE |
VWCT | VIEW CHANGE TRACKING | TABLE, SCHEMA |
VWDS | VIEW DATABASE STATE | DATABASE |
Berechtigungen
Jedem Benutzer werden die eigenen Berechtigungen angezeigt. Zum Anzeigen der Berechtigungen für andere Benutzer ist VIEW DEFINITION, ALTER ANY USER oder eine Berechtigung für einen Benutzer erforderlich. Zum Anzeigen benutzerdefinierter Rollen ist ALTER ANY ROLE oder die Mitgliedschaft bei der Rolle erforderlich (z. B. public).
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.
Beispiele
A: Auflisten aller Berechtigungen von Datenbankprinzipalen
Mit der folgenden Abfrage werden die Berechtigungen aufgelistet, die Datenbankprinzipalen ausdrücklich gewährt oder verweigert wurden.
Wichtig
Die Berechtigungen von festen Datenbankrollen werden nicht in sys.database_permissions aufgeführt. 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
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
G. Auflisten von Berechtigungen für Schemaobjekte in einer Datenbank
Die folgende Abfrage verknüpft sys.database_principals und sys.database_permissions mit sys.objects und sys.schemas, um Berechtigungen aufzulisten, 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
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;
Weitere Informationen
Sicherungsfähige Elemente
Berechtigungshierarchie (Datenbank-Engine)
Sicherheitskatalogsichten (Transact-SQL)
Katalogsichten (Transact-SQL)