Berechtigungen (Datenbank-Engine)
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Jeder sicherungsfähige SQL Server verfügt über zugeordnete Berechtigungen, die einem Prinzipal erteilt werden können. Berechtigungen im Datenbank-Engine werden auf Serverebene verwaltet, die Anmelde- und Serverrollen zugewiesen sind, und auf Datenbankebene, die Datenbankbenutzern und Datenbankrollen zugewiesen sind. Das Modell für Azure SQL-Datenbank verfügt über dasselbe System für die Datenbankberechtigungen, aber die Berechtigungen auf Serverebene sind nicht verfügbar. Dieser Artikel enthält die vollständige Liste der Berechtigungen. Eine typische Implementierung der Berechtigungen finden Sie unter Erste Schritte mit Berechtigungen für die Datenbank-Engine.
Die Gesamtzahl der Berechtigungen für SQL Server 2022 (16.x) beträgt 292. Azure SQL-Datenbank macht 292 Berechtigungen verfügbar. Die meisten Berechtigungen gelten für alle Plattformen, aber einige nicht. Die meisten Berechtigungen auf Serverebene können beispielsweise nicht für Azure SQL-Datenbank erteilt werden, und einige Berechtigungen sind nur für Azure SQL-Datenbank sinnvoll. Neue Berechtigungen werden schrittweise mit neuen Versionen eingeführt. SQL Server 2019 (15.x) macht 248 Berechtigungen verfügbar. SQL Server 2017 (14.x) hat 238 Berechtigungen verfügbar gemacht. SQL Server 2016 (13.x) hat 230 Berechtigungen verfügbar gemacht. SQL Server 2014 (12.x) hat 219 Berechtigungen verfügbar gemacht. SQL Server 2012 (11.x) hat 214 Berechtigungen verfügbar gemacht. SQL Server 2008 R2 (10.50.x) hat 195 Berechtigungen verfügbar gemacht. Der Artikel sys.fn_builtin_permissions gibt an, welche Berechtigungen in den letzten Versionen neu sind.
Sobald Sie die erforderlichen Berechtigungen verstanden haben, können Sie Berechtigungen auf Serverebene auf Anmeldungen oder Serverrollen und Berechtigungen auf Datenbankebene auf Benutzer oder Datenbankrollen anwenden, indem Sie die Anweisungen GRANT, REVOKE und DENY verwenden. Beispiel:
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
Tipps zum Planen eines Berechtigungssystems finden Sie unter Erste Schritte mit Berechtigungen für die Datenbank-Engine.
Benennungskonventionen für Berechtigungen
Im Folgenden werden die allgemeinen Konventionen beschrieben, die beim Benennen von Berechtigungen befolgt werden:
CONTROL
Überträgt besitzähnliche Funktionen an den Empfänger. Der Empfänger verfügt über alle definierten Berechtigungen für das sicherungsfähige Element. Ein Prinzipal, dem die Berechtigung CONTROL erteilt wurde, kann auch Berechtigungen für das sicherungsfähige Element erteilen. Da das SQL Server-Sicherheitsmodell hierarchisch ist, enthält CONTROL in einem bestimmten Bereich implizit CONTROL für alle sicherungsfähigen Elemente unter diesem Bereich. CONTROL für eine Datenbank impliziert alle Berechtigungen für die Datenbank, alle Berechtigungen für alle Assemblys in der Datenbank, alle Berechtigungen für alle Schemas in der Datenbank sowie alle Berechtigungen für Objekte innerhalb aller Schemas in der Datenbank.
ALTER
Überträgt die Berechtigung, die Eigenschaften, mit Ausnahme des Besitzes, eines bestimmten sicherungsfähigen Elements zu ändern. Wenn ALTER für einen Gültigkeitsbereich erteilt wird, wird damit auch die Berechtigung zum Ändern, Erstellen oder Löschen eines sicherungsfähigen Elements erteilt, das in diesen Bereich fällt. So beinhaltet die Berechtigung ALTER für ein Schema auch die Berechtigung zum Erstellen, Ändern und Löschen von Objekten aus dem Schema.
ALTER ANY <Server Securable>, wobei Server securable kann jeder Server sicherungsfähig sein.
Überträgt die Berechtigung zum Erstellen, Ändern oder Löschen einzelner Instanzen des Server Securable. So überträgt z. B. ALTER ANY LOGIN die Berechtigung zum Erstellen, Ändern oder Löschen einer beliebigen Anmeldung in der Instanz.
ALTER ANY <Database Securable>, where Database Securable can be any securable at the database level.
Überträgt die Berechtigung zum Erstellen, Ändern oder Löschen (CREATE, ALTER oder DROP) einzelner Instanzen des Database Securable. So überträgt z. B. ALTER ANY SCHEMA die Berechtigung zum Erstellen, Ändern oder Löschen eines beliebigen Schemas in der Datenbank.
TAKE OWNERSHIP
Ermöglicht dem Empfänger, Besitzer des sicherungsfähigen Elements zu werden, für das die Berechtigung erteilt wird.
IMPERSONATE <Anmeldung>
Ermöglicht dem Empfänger, die Identität des Anmeldenamens anzunehmen.
IMPERSONATE <Benutzer>
Ermöglicht dem Empfänger, die Identität des Benutzers anzunehmen.
CREATE <Server Securable>
Überträgt dem Empfänger die Berechtigung zum Erstellen des Server Securable.
CREATE <Database Securable>
Überträgt dem Berechtigten die Berechtigung zum Erstellen des Database Securable.
CREATE <Schema-contained Securable>
Überträgt die Berechtigung zum Erstellen des im Schema enthaltenen sicherungsfähigen Elements. Es wird jedoch die Berechtigung ALTER für das Schema benötigt, um das sicherungsfähige Element in einem bestimmten Schema zu erstellen.
VIEW DEFINITION
Gewährt dem Empfänger Zugriff auf Metadaten.
REFERENCES
Die REFERENCES-Berechtigung für eine Tabelle ist erforderlich, um eine FOREIGN KEY-Einschränkung zu erstellen, die auf die betreffende Tabelle verweist.
Die REFERENCES-Berechtigung ist für ein Objekt erforderlich, um eine FUNCTION oder VIEW mit der
WITH SCHEMABINDING
-Klausel zu erstellen, die auf das betreffende Objekt verweist.
Diagramm der SQL Server-Berechtigungen
Die folgende Abbildung zeigt die Berechtigungen und ihre Beziehungen miteinander. Einige der Berechtigungen auf höherer Ebene (z.B. CONTROL SERVER
) sind mehrmals aufgeführt. In diesem Artikel ist nicht ausreichend Platz, um das Poster entsprechend darzustellen. Sie können das Poster mit vollformatierten Datenbank-Engine Berechtigungen im PDF-Format herunterladen.
Berechtigungen, die für bestimmte sicherungsfähige Elemente gelten
Die folgende Tabelle enthält eine Liste der wichtigsten Berechtigungsklassen und der sicherungsfähigen Elemente, für die sie erteilt werden können.
Berechtigung | Gilt für: |
---|---|
ALTER | Alle Objektklassen außer TYPE. |
CONTROL | Alle Objektklassen: AGGREGATE, APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, AVAILABILITY GROUP, CERTIFICATE, CONTRACT, ANMELDEINFORMATIONEN DATABASE, DATABASE SCOPED CREDENTIAL, DEFAULT, ENDPOINT, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, LOGIN, MESSAGE TYPE, PROCEDURE, QUEUE, REMOTE SERVICE BINDING, ROLE, ROUTE, RULE, SCHEMA, SEARCH PROPERTY LIST, SERVER, SERVER ROLE, SERVICE, SYMMETRIC KEY, SYNONYM, TABLE, TYPE, USER, VIEW und XML SCHEMA COLLECTION |
ENTF | Alle Objektklassen außer DATABASE SCOPED CONFIGURATION, SERVER und TYPE. |
Führen Sie | CLR-Typen, externe Skripts, Prozeduren (Transact-SQL und CLR), Skalar- und Aggregatfunktionen (Transact-SQL und CLR) und Synonyme |
IMPERSONATE | Anmeldungen und Benutzer |
INSERT | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
RECEIVE | Service Broker-Warteschlangen |
REFERENCES | AGGREGATE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, CREDENTIAL (gilt für SQL Server 2022 (16.x) und höher), DATABASE, DATABASE SCOPED CREDENTIAL, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, MESSAGE TYPE, PROCEDURE, QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJECT, SYMMETRIC KEY, TABLE, TYPE, VIEW und XML SCHEMA COLLECTION |
SELECT | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
TAKE OWNERSHIP | Alle Objektklassen außer DATABASE SCOPED CONFIGURATION, LOGIN, SERVER und USER. |
UPDATE | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
VIEW CHANGE TRACKING | Schemata und Tabellen |
VIEW DEFINITION | Alle Objektklassen außer DATABASE SCOPED CONFIGURATION und SERVER. |
Achtung
Die Standardberechtigungen, die Systemobjekten zum Zeitpunkt der Einrichtung gewährt werden, werden sorgfältig anhand möglicher Bedrohungen ausgewertet und müssen nicht im Rahmen der Härtung der SQL Server-Installation geändert werden. Alle Änderungen an den Berechtigungen für die Systemobjekte können die Funktionalität einschränken oder unterbrechen und ihre SQL Server-Installation möglicherweise in einem nicht unterstützten Zustand belassen.
SQL Server-Berechtigungen
Die folgende Tabelle enthält eine vollständige Liste der SQL Server-Berechtigungen. Azure SQL-Datenbank Berechtigungen sind nur für Basissicherheiten verfügbar, die unterstützt werden. Berechtigungen auf Serverebene können in Azure SQL-Datenbank nicht erteilt werden, aber in einigen Fällen sind stattdessen Datenbankberechtigungen verfügbar.
Sicherungsfähiges Basiselement | Spezifische Berechtigungen für sicherungsfähiges Basiselement | Berechtigungstypcode | Sicherungsfähiges Element, das sicherungsfähiges Basiselement enthält | Berechtigung für sicherungsfähiges Containerelement mit spezifischer Berechtigung für sicherungsfähiges Basiselement |
---|---|---|---|---|
APPLICATION ROLE | ALTER | AL | DATABASE | ALTER ANY APPLICATION ROLE |
APPLICATION ROLE | CONTROL | CL | DATABASE | CONTROL |
APPLICATION ROLE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ASSEMBLY | ALTER | AL | DATABASE | ALTER ANY ASSEMBLY |
ASSEMBLY | CONTROL | CL | DATABASE | CONTROL |
ASSEMBLY | REFERENCES | RF | DATABASE | REFERENCES |
ASSEMBLY | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
ASSEMBLY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ASYMMETRIC KEY | ALTER | AL | DATABASE | ALTER ANY ASYMMETRIC KEY |
ASYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
ASYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
ASYMMETRIC KEY | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
ASYMMETRIC KEY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
AVAILABILITY GROUP | ALTER | AL | SERVER | ALTER ANY AVAILABILITY GROUP |
AVAILABILITY GROUP | CONTROL | CL | SERVER | CONTROL SERVER |
AVAILABILITY GROUP | TAKE OWNERSHIP | TO | SERVER | CONTROL SERVER |
AVAILABILITY GROUP | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
ZERTIFIKAT | ALTER | AL | DATABASE | ALTER ANY CERTIFICATE |
ZERTIFIKAT | CONTROL | CL | DATABASE | CONTROL |
ZERTIFIKAT | REFERENCES | RF | DATABASE | REFERENCES |
ZERTIFIKAT | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
ZERTIFIKAT | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
CONTRACT | ALTER | AL | DATABASE | ALTER ANY CONTRACT |
CONTRACT | CONTROL | CL | DATABASE | CONTROL |
CONTRACT | REFERENCES | RF | DATABASE | REFERENCES |
CONTRACT | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
CONTRACT | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
CREDENTIAL | CONTROL | CL | SERVER | CONTROL SERVER |
CREDENTIAL | REFERENCES | RF | SERVER | ALTER ANY CREDENTIAL |
DATABASE | ADMINISTER DATABASE BULK OPERATIONS | DABO | SERVER | CONTROL SERVER |
DATABASE | ALTER | AL | SERVER | ALTER ANY DATABASE |
DATABASE | ALTER ANY APPLICATION ROLE | ALAR | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY ASSEMBLY | ALAS | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY ASYMMETRIC KEY | ALAK | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY CERTIFICATE | ALCF | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY COLUMN ENCRYPTION KEY | ALCK Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY COLUMN MASTER KEY | ALCM Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY CONTRACT | ALSC | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY DATABASE AUDIT | ALDA | SERVER | ALTER ANY SERVER AUDIT |
DATABASE | ALTER ANY DATABASE DDL TRIGGER | ALTG | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY DATABASE EVENT NOTIFICATION | ALED | SERVER | ALTER ANY EVENT NOTIFICATION |
DATABASE | ALTER ANY DATABASE EVENT SESSION | AADS | SERVER | ALTER ANY EVENT SESSION |
DATABASE | ALTER ANY DATABASE EVENT SESSION ADD EVENT | LDAE | SERVER | ALTER ANY EVENT SESSION ADD EVENT |
DATABASE | ALTER ANY DATABASE EVENT SESSION ADD TARGET | LDAT | SERVER | ALTER ANY EVENT SESSION ADD TARGET |
DATABASE | ÄNDERN EINER DATENBANKEREIGNISSITZUNG DEAKTIVIEREN | DDES | SERVER | ÄNDERN EINER EREIGNISSITZUNG DEAKTIVIEREN |
DATABASE | ALTER ANY DATABASE EVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
DATABASE | ÄNDERN EINES DROPZIELS FÜR DATENBANKEREIGNISSITZUNGEN | LDDT | SERVER | ÄNDERN EINES EREIGNISSITZUNGSABLAGEZIELS |
DATABASE | ALTER ANY DATABASE EVENT SESSION ENABLE | EDES | SERVER | ALTER ANY EVENT SESSION ENABLE |
DATABASE | ÄNDERN EINER DATENBANKEREIGNISSITZUNGSOPTION | LDSO | SERVER | ÄNDERN DER EREIGNISSITZUNGSOPTION |
DATABASE | ALTER ANY DATABASE SCOPED CONFIGURATION | ALDC Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY DATASPACE | ALDS | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY EXTERNAL DATA SOURCE | AEDS | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY EXTERNAL FILE FORMAT | AEFF | SERVER | CONTROL SERVER |
DATABASE | ÄNDERN EINES EXTERNEN AUFTRAGS | AESJ | SERVER | CONTROL SERVER |
DATABASE | ÄNDERN EINER BELIEBIGEN EXTERNEN SPRACHE | ALLA | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY EXTERNAL LIBRARY | ALEL | SERVER | CONTROL SERVER |
DATABASE | ÄNDERN EINES EXTERNEN DATENSTROMS | AEST | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY FULLTEXT CATALOG | ALFT | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY MASK | AAMK Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY MESSAGE TYPE | ALMT | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY REMOTE SERVICE BINDING | ALSB | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY ROLE | ALRL | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY ROUTE | ALRT | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY SCHEMA | ALSM | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY SECURITY POLICY | ALSP Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY SENSITIVITY CLASSIFICATION | AASC Gilt für SQL Server (SQL Server 2019 (15.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | ALTER ANY SERVICE | ALSV | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY SYMMETRIC KEY | ALSK | SERVER | CONTROL SERVER |
DATABASE | ALTER ANY USER | ALUS | SERVER | CONTROL SERVER |
DATABASE | ALTER LEDGER | ALR | SERVER | CONTROL |
DATABASE | ALTER LEDGER-KONFIGURATION | ALC | SERVER | CONTROL SERVER |
DATABASE | AUTHENTICATE | AUTH | SERVER | AUTHENTICATE SERVER |
DATABASE | BACKUP DATABASE | BADB | SERVER | CONTROL SERVER |
DATABASE | BACKUP LOG | BALO | SERVER | CONTROL SERVER |
DATABASE | CHECKPOINT | CP | SERVER | CONTROL SERVER |
DATABASE | CONNECT | CO | SERVER | CONTROL SERVER |
DATABASE | CONNECT REPLICATION | CORP | SERVER | CONTROL SERVER |
DATABASE | CONTROL | CL | SERVER | CONTROL SERVER |
DATABASE | CREATE AGGREGATE | CRAG | SERVER | CONTROL SERVER |
DATABASE | ERSTELLEN EINER DATENBANKEREIGNISSITZUNG | CRDS | SERVER | ERSTELLEN EINER EREIGNISSITZUNG |
DATABASE | CREATE ASSEMBLY | CRAS | SERVER | CONTROL SERVER |
DATABASE | CREATE ASYMMETRIC KEY | CRAK | SERVER | CONTROL SERVER |
DATABASE | CREATE CERTIFICATE | CRCF | SERVER | CONTROL SERVER |
DATABASE | CREATE CONTRACT | CRSC | SERVER | CONTROL SERVER |
DATABASE | CREATE DATABASE | CRDB | SERVER | CREATE ANY DATABASE |
DATABASE | CREATE DATABASE DDL EVENT NOTIFICATION | CRED | SERVER | CREATE DDL EVENT NOTIFICATION |
DATABASE | CREATE DEFAULT | CRDF | SERVER | CONTROL SERVER |
DATABASE | EXTERNE SPRACHE ERSTELLEN | CRLA | SERVER | CONTROL SERVER |
DATABASE | EXTERNE BIBLIOTHEK ERSTELLEN | CREL | SERVER | CONTROL SERVER |
DATABASE | CREATE FULLTEXT CATALOG | CRFT | SERVER | CONTROL SERVER |
DATABASE | CREATE FUNCTION | CRFN | SERVER | CONTROL SERVER |
DATABASE | CREATE MESSAGE TYPE | CRMT | SERVER | CONTROL SERVER |
DATABASE | CREATE PROCEDURE | CRPR | SERVER | CONTROL SERVER |
DATABASE | CREATE QUEUE | CRQU | SERVER | CONTROL SERVER |
DATABASE | CREATE REMOTE SERVICE BINDING | CRSB | SERVER | CONTROL SERVER |
DATABASE | CREATE ROLE | CRRL | SERVER | CONTROL SERVER |
DATABASE | CREATE ROUTE | CRRT | SERVER | CONTROL SERVER |
DATABASE | CREATE RULE | CRRU | SERVER | CONTROL SERVER |
DATABASE | CREATE SCHEMA | CRSM | SERVER | CONTROL SERVER |
DATABASE | CREATE SERVICE | CRSV | SERVER | CONTROL SERVER |
DATABASE | CREATE SYMMETRIC KEY | CRSK | SERVER | CONTROL SERVER |
DATABASE | CREATE SYNONYM | CRSN | SERVER | CONTROL SERVER |
DATABASE | CREATE TABLE | CRTB | SERVER | CONTROL SERVER |
DATABASE | CREATE TYPE | CRTY | SERVER | CONTROL SERVER |
DATABASE | CREATE USER | CUSR | SERVER | CONTROL SERVER |
DATABASE | CREATE VIEW | CRVW | SERVER | CONTROL SERVER |
DATABASE | CREATE XML SCHEMA COLLECTION | CRXS | SERVER | CONTROL SERVER |
DATABASE | ENTF | DL | SERVER | CONTROL SERVER |
DATABASE | DROP ANY DATABASE EVENT SESSION | DRDS | SERVER | DROP ANY EVENT SESSION |
DATABASE | ENABLE LEDGER | EL | SERVER | CONTROL |
DATABASE | Führen Sie | EX | SERVER | CONTROL SERVER |
DATABASE | EXECUTE ANY EXTERNAL ENDPOINT | EAEE | SERVER | CONTROL SERVER |
DATABASE | EXECUTE ANY EXTERNAL SCRIPT | EAES Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell). |
SERVER | CONTROL SERVER |
DATABASE | INSERT | IN | SERVER | CONTROL SERVER |
DATABASE | KILL DATABASE CONNECTION | KIDC Gilt nur für Azure SQL-Datenbank. Verwenden Sie ALTER ANY CONNECTION in SQL Server. |
SERVER | ALTER ANY CONNECTION |
DATABASE | REFERENCES | RF | SERVER | CONTROL SERVER |
DATABASE | SELECT | SL | SERVER | CONTROL SERVER |
DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
DATABASE | SUBSCRIBE QUERY NOTIFICATIONS | SUQN | SERVER | CONTROL SERVER |
DATABASE | TAKE OWNERSHIP | TO | SERVER | CONTROL SERVER |
DATABASE | UNMASK | UMSK Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | CONTROL SERVER |
DATABASE | UPDATE | UP | SERVER | CONTROL SERVER |
DATABASE | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | VWCK Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | VIEW SERVER STATE |
DATABASE | VIEW ANY COLUMN MASTER KEY DEFINITION | VWCM Gilt für SQL Server (SQL Server 2016 (13.x) bis aktuell), Azure SQL-Datenbank. |
SERVER | VIEW SERVER STATE |
DATABASE | ANZEIGEN EINER VERTRAULICHKEITSKLASSIFIZIERUNG | VASC | SERVER | CONTROL SERVER |
DATABASE | KRYPTOGRAFISCH GESICHERTE DEFINITION ANZEIGEN | VCD | SERVER | ANZEIGEN EINER KRYPTOGRAFISCH GESICHERTEN DEFINITION |
DATABASE | DATENBANKLEISTUNGSSTATUS ANZEIGEN | VDP | SERVER | SERVERLEISTUNGSSTATUS ANZEIGEN |
DATABASE | DATENBANKSICHERHEITSÜBERWACHUNG ANZEIGEN | VDSA | SERVER | CONTROL SERVER |
DATABASE | DATENBANKSICHERHEITSSTATUS ANZEIGEN | VDS | SERVER | SICHERHEITSSTATUS DES SERVERS ANZEIGEN |
DATABASE | VIEW DATABASE STATE | VWDS | SERVER | VIEW SERVER STATE |
DATABASE | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
DATABASE | VIEW LEDGER CONTENT | VLC | SERVER | CONTROL |
DATABASE | VIEW SECURITY DEFINITION | VWS | SERVER | VIEW ANY SECURITY DEFINITION |
DATABASE | LEISTUNGSDEFINITION ANZEIGEN | VWP | SERVER | ANZEIGEN EINER BELIEBIGEN LEISTUNGSDEFINITION |
DATABASE SCOPED CREDENTIAL | ALTER | AL | DATABASE | CONTROL |
DATABASE SCOPED CREDENTIAL | CONTROL | CL | DATABASE | CONTROL |
DATABASE SCOPED CREDENTIAL | REFERENCES | RF | DATABASE | REFERENCES |
DATABASE SCOPED CREDENTIAL | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
DATABASE SCOPED CREDENTIAL | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ENDPOINT | ALTER | AL | SERVER | ALTER ANY ENDPOINT |
ENDPOINT | CONNECT | CO | SERVER | CONTROL SERVER |
ENDPOINT | CONTROL | CL | SERVER | CONTROL SERVER |
ENDPOINT | TAKE OWNERSHIP | TO | SERVER | CONTROL SERVER |
ENDPOINT | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
FULLTEXT CATALOG | ALTER | AL | DATABASE | ALTER ANY FULLTEXT CATALOG |
FULLTEXT CATALOG | CONTROL | CL | DATABASE | CONTROL |
FULLTEXT CATALOG | REFERENCES | RF | DATABASE | REFERENCES |
FULLTEXT CATALOG | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
FULLTEXT CATALOG | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
FULLTEXT STOPLIST | ALTER | AL | DATABASE | ALTER ANY FULLTEXT CATALOG |
FULLTEXT STOPLIST | CONTROL | CL | DATABASE | CONTROL |
FULLTEXT STOPLIST | REFERENCES | RF | DATABASE | REFERENCES |
FULLTEXT STOPLIST | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
FULLTEXT STOPLIST | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
LOGIN | ALTER | AL | SERVER | ALTER ANY LOGIN |
LOGIN | CONTROL | CL | SERVER | CONTROL SERVER |
LOGIN | IMPERSONATE | IM | SERVER | CONTROL SERVER |
LOGIN | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
MESSAGE TYPE | ALTER | AL | DATABASE | ALTER ANY MESSAGE TYPE |
MESSAGE TYPE | CONTROL | CL | DATABASE | CONTROL |
MESSAGE TYPE | REFERENCES | RF | DATABASE | REFERENCES |
MESSAGE TYPE | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
MESSAGE TYPE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
OBJECT | ALTER | AL | SCHEMA | ALTER |
OBJECT | CONTROL | CL | SCHEMA | CONTROL |
OBJECT | ENTF | DL | SCHEMA | ENTF |
OBJECT | Führen Sie | EX | SCHEMA | Führen Sie |
OBJECT | INSERT | IN | SCHEMA | INSERT |
OBJECT | RECEIVE | RC | SCHEMA | CONTROL |
OBJECT | REFERENCES | RF | SCHEMA | REFERENCES |
OBJECT | SELECT | SL | SCHEMA | SELECT |
OBJECT | TAKE OWNERSHIP | TO | SCHEMA | CONTROL |
OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
OBJECT | UPDATE | UP | SCHEMA | UPDATE |
OBJECT | VIEW CHANGE TRACKING | VWCT | SCHEMA | VIEW CHANGE TRACKING |
OBJECT | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
REMOTE SERVICE BINDING | ALTER | AL | DATABASE | ALTER ANY REMOTE SERVICE BINDING |
REMOTE SERVICE BINDING | CONTROL | CL | DATABASE | CONTROL |
REMOTE SERVICE BINDING | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
REMOTE SERVICE BINDING | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ROLE | ALTER | AL | DATABASE | ALTER ANY ROLE |
ROLE | CONTROL | CL | DATABASE | CONTROL |
ROLE | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
ROLE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ROUTE | ALTER | AL | DATABASE | ALTER ANY ROUTE |
ROUTE | CONTROL | CL | DATABASE | CONTROL |
ROUTE | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
ROUTE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
SCHEMA | ALTER | AL | DATABASE | ALTER ANY SCHEMA |
SCHEMA | CONTROL | CL | DATABASE | CONTROL |
SCHEMA | CREATE SEQUENCE | CRSO | DATABASE | CONTROL |
SCHEMA | ENTF | DL | DATABASE | ENTF |
SCHEMA | Führen Sie | EX | DATABASE | Führen Sie |
SCHEMA | INSERT | IN | DATABASE | INSERT |
SCHEMA | REFERENCES | RF | DATABASE | REFERENCES |
SCHEMA | SELECT | SL | DATABASE | SELECT |
SCHEMA | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
SCHEMA | UPDATE | UP | DATABASE | UPDATE |
SCHEMA | VIEW CHANGE TRACKING | VWCT | DATABASE | VIEW CHANGE TRACKING |
SCHEMA | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
SEARCH PROPERTY LIST | ALTER | AL | SERVER | ALTER ANY FULLTEXT CATALOG |
SEARCH PROPERTY LIST | CONTROL | CL | SERVER | CONTROL |
SEARCH PROPERTY LIST | REFERENCES | RF | SERVER | REFERENCES |
SEARCH PROPERTY LIST | TAKE OWNERSHIP | TO | SERVER | CONTROL |
SEARCH PROPERTY LIST | VIEW DEFINITION | VW | SERVER | VIEW DEFINITION |
SERVER | ADMINISTER BULK OPERATIONS | ADBO | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY AVAILABILITY GROUP | ALAG | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY CONNECTION | ALCO | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY CREDENTIAL | ALCD | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY DATABASE | ALDB | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY ENDPOINT | ALHE | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT NOTIFICATION | ALES | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT SESSION | AAES | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT SESSION ADD EVENT | LSAE | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT SESSION ADD TARGET | LSAT | Nicht verfügbar | Nicht verfügbar |
SERVER | ÄNDERN EINER EREIGNISSITZUNG DEAKTIVIEREN | DES | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | Nicht verfügbar | Nicht verfügbar |
SERVER | ÄNDERN EINES EREIGNISSITZUNGSABLAGEZIELS | LSDT | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY EVENT SESSION ENABLE | EBS | Nicht verfügbar | Nicht verfügbar |
SERVER | ÄNDERN DER EREIGNISSITZUNGSOPTION | LESO | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY LINKED SERVER | ALLS | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY LOGIN | ALLG | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY SERVER AUDIT | ALAA | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER ANY SERVER ROLE | ALSR | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER RESOURCES | ALRS | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER SERVER STATE | ALSS | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER SETTINGS | ALST | Nicht verfügbar | Nicht verfügbar |
SERVER | ALTER TRACE | ALTR | Nicht verfügbar | Nicht verfügbar |
SERVER | AUTHENTICATE SERVER | AUTH | Nicht verfügbar | Nicht verfügbar |
SERVER | CONNECT ANY DATABASE | CADB | Nicht verfügbar | Nicht verfügbar |
SERVER | CONNECT SQL | COSQ | Nicht verfügbar | Nicht verfügbar |
SERVER | CONTROL SERVER | CL | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE ANY DATABASE | CRDB | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE AVAILABILITY GROUP | CRAC | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE DDL EVENT NOTIFICATION | CRDE | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE ENDPOINT | CRHE | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE SERVER ROLE | CRSR | Nicht verfügbar | Nicht verfügbar |
SERVER | CREATE TRACE EVENT NOTIFICATION | CRTE | Nicht verfügbar | Nicht verfügbar |
SERVER | EXTERNAL ACCESS ASSEMBLY | XA | Nicht verfügbar | Nicht verfügbar |
SERVER | IMPERSONATE ANY LOGIN | IAL | Nicht verfügbar | Nicht verfügbar |
SERVER | SELECT ALL USER SECURABLES | SUS | Nicht verfügbar | Nicht verfügbar |
SERVER | SHUTDOWN | SHDN | Nicht verfügbar | Nicht verfügbar |
SERVER | UNSAFE ASSEMBLY | XU | Nicht verfügbar | Nicht verfügbar |
SERVER | VIEW ANY DATABASE | VWDB | Nicht verfügbar | Nicht verfügbar |
SERVER | VIEW ANY DEFINITION | VWAD | Nicht verfügbar | Nicht verfügbar |
SERVER | VIEW SERVER STATE | VWSS | Nicht verfügbar | Nicht verfügbar |
SERVER ROLE | ALTER | AL | SERVER | ALTER ANY SERVER ROLE |
SERVER ROLE | CONTROL | CL | SERVER | CONTROL SERVER |
SERVER ROLE | TAKE OWNERSHIP | TO | SERVER | CONTROL SERVER |
SERVER ROLE | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
DIENST | ALTER | AL | DATABASE | ALTER ANY SERVICE |
DIENST | CONTROL | CL | DATABASE | CONTROL |
DIENST | SEND | SN | DATABASE | CONTROL |
DIENST | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
DIENST | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
SYMMETRIC KEY | ALTER | AL | DATABASE | ALTER ANY SYMMETRIC KEY |
SYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
SYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
SYMMETRIC KEY | TAKE OWNERSHIP | TO | DATABASE | CONTROL |
SYMMETRIC KEY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
TYPE | CONTROL | CL | SCHEMA | CONTROL |
TYPE | Führen Sie | EX | SCHEMA | Führen Sie |
TYPE | REFERENCES | RF | SCHEMA | REFERENCES |
TYPE | TAKE OWNERSHIP | TO | SCHEMA | CONTROL |
TYPE | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
BENUTZER | ALTER | AL | DATABASE | ALTER ANY USER |
BENUTZER | CONTROL | CL | DATABASE | CONTROL |
BENUTZER | IMPERSONATE | IM | DATABASE | CONTROL |
BENUTZER | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
XML SCHEMA COLLECTION | ALTER | AL | SCHEMA | ALTER |
XML SCHEMA COLLECTION | CONTROL | CL | SCHEMA | CONTROL |
XML SCHEMA COLLECTION | Führen Sie | EX | SCHEMA | Führen Sie |
XML SCHEMA COLLECTION | REFERENCES | RF | SCHEMA | REFERENCES |
XML SCHEMA COLLECTION | TAKE OWNERSHIP | TO | SCHEMA | CONTROL |
XML SCHEMA COLLECTION | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
Neue granulare Berechtigungen, die SQL Server 2022 hinzugefügt wurden
Die folgenden Berechtigungen werden SQL Server 2022 hinzugefügt:
10 neue Berechtigungen wurden hinzugefügt, um den Zugriff auf Systemmetadaten zu ermöglichen.
Für erweiterte Ereignisse wurden 18 neue Berechtigungen hinzugefügt.
9 neue Berechtigungen wurden in Bezug auf sicherheitsbezogene Objekte hinzugefügt.
4 Berechtigungen wurden für Ledger hinzugefügt.
3 zusätzliche Datenbankberechtigungen.
Weitere Informationen finden Sie unter "Neue granulare Berechtigungen für SQL Server 2022 und Azure SQL", um die Einhaltung von PoLP zu verbessern.
Zugriff auf Systemmetadatenberechtigungen
Serverebene:
- VIEW ANY SECURITY DEFINITION
- ANZEIGEN EINER BELIEBIGEN LEISTUNGSDEFINITION
- SICHERHEITSSTATUS DES SERVERS ANZEIGEN
- SERVERLEISTUNGSSTATUS ANZEIGEN
- ANZEIGEN EINER KRYPTOGRAFISCH GESICHERTEN DEFINITION
Datenbankebene:
- DATENBANKSICHERHEITSSTATUS ANZEIGEN
- DATENBANKLEISTUNGSSTATUS ANZEIGEN
- VIEW SECURITY DEFINITION
- LEISTUNGSDEFINITION ANZEIGEN
- KRYPTOGRAFISCH GESICHERTE DEFINITION ANZEIGEN
Berechtigungen für erweiterte Ereignisse
Serverebene:
- ERSTELLEN EINER EREIGNISSITZUNG
- DROP ANY EVENT SESSION
- ÄNDERN DER EREIGNISSITZUNGSOPTION
- ALTER ANY EVENT SESSION ADD EVENT
- ALTER ANY EVENT SESSION DROP EVENT
- ALTER ANY EVENT SESSION ENABLE
- ÄNDERN EINER EREIGNISSITZUNG DEAKTIVIEREN
- ALTER ANY EVENT SESSION ADD TARGET
- ÄNDERN EINES EREIGNISSITZUNGSABLAGEZIELS
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY EVENT SESSION
Datenbankebene:
- ERSTELLEN EINER DATENBANKEREIGNISSITZUNG
- DROP ANY DATABASE EVENT SESSION
- ÄNDERN EINER DATENBANKEREIGNISSITZUNGSOPTION
- ALTER ANY DATABASE EVENT SESSION ADD EVENT
- ALTER ANY DATABASE EVENT SESSION DROP EVENT
- ALTER ANY DATABASE EVENT SESSION ENABLE
- ÄNDERN EINER DATENBANKEREIGNISSITZUNG DEAKTIVIEREN
- ALTER ANY DATABASE EVENT SESSION ADD TARGET
- ÄNDERN EINES DROPZIELS FÜR DATENBANKEREIGNISSITZUNGEN
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY DATABASE EVENT SESSION
Sicherheitsbezogene Objektberechtigungen
- STEUERELEMENT (ANMELDEINFORMATIONEN)
- CREATE LOGIN
- CREATE USER
- VERWEISE (ANMELDEINFORMATIONEN)
- UNMASK (OBJECT)
- UNMASK (SCHEMA)
- ANZEIGEN EINES FEHLERPROTOKOLLS
- SERVERSICHERHEITSÜBERWACHUNG ANZEIGEN
- DATENBANKSICHERHEITSÜBERWACHUNG ANZEIGEN
Ledger-Berechtigungen
- ALTER LEDGER
- ALTER LEDGER-KONFIGURATION
- ENABLE LEDGER
- VIEW LEDGER CONTENT
Andere Datenbankberechtigungen
- ÄNDERN EINES EXTERNEN AUFTRAGS
- ÄNDERN EINES EXTERNEN DATENSTROMS
- EXECUTE ANY EXTERNAL ENDPOINT
Zusammenfassung des Berechtigungsprüfungsalgorithmus
Die Prüfung von Berechtigungen kann sehr komplex sein. Der Algorithmus für die Berechtigungsprüfung umfasst überlappende Gruppenmitgliedschaften und Besitzverkettung, explizite und implizite Berechtigungen und kann von den Berechtigungen für sicherungsfähige Klassen, in denen die sicherungsfähige Entität enthalten ist, beeinflusst werden. Die allgemeine Vorgehensweise des Algorithmus besteht darin, alle relevanten Berechtigungen zu sammeln. Wenn keine blockierende DENY-Anweisung gefunden wird, sucht der Algorithmus nach einer GRANT-Anweisung mit ausreichenden Zugriffsberechtigungen. Der Algorithmus enthält drei wesentliche Elemente, den Sicherheitskontext, den Berechtigungsbereichund die erforderlichen Berechtigung.
Hinweis
Berechtigungen können nicht für sa, dbo, den Entitätsbesitzer, information_schema, sys oder für den Benutzer selbst erteilt, verweigert oder aufgehoben werden.
Sicherheitskontext
Dies ist die Gruppe von Prinzipalen, die Berechtigungen für die Zugriffsüberprüfung einbringen. Diese Berechtigungen beziehen sich auf den aktuellen Anmeldenamen oder Benutzer, es sei denn, der Sicherheitskontext wurde mithilfe der EXECUTE AS-Anweisung in einen anderen Anmeldenamen oder Benutzer geändert. Der Sicherheitskontext schließt die folgenden Prinzipale ein:
Anmeldenamen
Der Benutzer
Rollenmitgliedschaften
Windows-Gruppenmitgliedschaften
Bei Verwendung der Modulsignierung sind dies ein beliebiger Anmeldename oder ein beliebiges Benutzerkonto für das Zertifikat, das zum Signieren des vom Benutzer derzeit ausgeführten Moduls verwendet wird, und die zugehörigen Rollenmitgliedschaften dieses Prinzipals.
Berechtigungsbereich
Dies sind die sicherungsfähige Entität und alle sicherungsfähigen Klassen, in denen das sicherungsfähige Element enthalten ist. Eine Tabelle (eine sicherungsfähige Entität) ist z. B. in der sicherungsfähigen Klasse des Schemas und in der sicherungsfähigen Klasse der Datenbank enthalten. Berechtigungen auf Tabellen-, Schema-, Datenbank- und Serverebene können sich auf den Zugriff auswirken. Weitere Informationen finden Sie unter Berechtigungshierarchie (Datenbank-Engine).
erforderlichen Berechtigung
Die Art der erforderlichen Berechtigung. Beispielsweise INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL usw.
Für den Zugriff können wie in den folgenden Beispielen mehrere Berechtigungen erforderlich sein:
Eine gespeicherte Prozedur kann sowohl die EXECUTE-Berechtigung für die gespeicherte Prozedur als auch die INSERT-Berechtigung für mehrere Tabellen erfordern, auf die von der gespeicherten Prozedur verwiesen wird.
Eine dynamische Verwaltungssicht kann sowohl die VIEW SERVER STATE-Berechtigung als auch SELECT-Berechtigung für die Sicht erfordern.
Allgemeine Schritte des Algorithmus
Wenn der Algorithmus ermittelt, ob Zugriff auf das sicherungsfähige Element erteilt werden soll, können die in diesem Zusammenhang ausgeführten Schritte sehr unterschiedlich sein. Dies hängt von den jeweiligen Prinzipalen und sicherungsfähigen Elementen ab. Der Algorithmus führt jedoch die folgenden allgemeinen Schritte aus:
Umgehen der Berechtigungsprüfung, wenn der Anmeldename ein Mitglied der festen Serverrolle sysadmin oder der Benutzer der dbo-Benutzer der aktuellen Datenbank ist.
Erteilen des Zugriffs, wenn die Besitzverkettung anwendbar ist und die Zugriffsprüfung für das Objekt an früherer Stelle in der Kette die Sicherheitsprüfung erfolgreich war.
Aggregieren der Identitäten, die dem Aufrufer zum Erstellen des Sicherheitskontexts zugeordnet sind, auf Server- und Datenbankebene sowie auf Ebene des signierten Moduls.
Sammeln aller Berechtigungen, die für diesen Berechtigungsbereicherteilt oder verweigert wurden, in diesem Sicherheitskontext. Die Berechtigung kann explizit als GRANT, GRANT WITH GRANT oder DENY angegeben werden; oder die Berechtigungen können als implizite oder abdeckende GRANT-Berechtigung oder DENY-Berechtigung angegeben werden. Die CONTROL-Berechtigung für ein Schema impliziert z. B. CONTROL für eine Tabelle. CONTROL für eine Tabelle impliziert SELECT. Wenn CONTROL für das Schema erteilt wurde, wird folglich SELECT für die Tabelle erteilt. Wenn CONTROL für die Tabelle verweigert wurde, wird SELECT für die Tabelle verweigert.
Hinweis
Durch eine GRANT-Berechtigung auf Spaltenebene wird eine DENY-Berechtigung auf Objektebene überschrieben. Weitere Informationen zu seinem Objekt finden Sie hier: DENY-Objektberechtigungen (Transact-SQL).
Identifizieren Sie die erforderlichen Berechtigung.
Die Berechtigungsprüfung ist nicht bestanden, wenn die erforderlichen Berechtigung für eine der Identitäten im Sicherheitskontext der Objekte im Berechtigungsbereich direkt oder implizit verweigert werden.
Übergeben Sie die Berechtigungsprüfung, ob die erforderliche Berechtigung nicht verweigert wurde, und die erforderliche Berechtigung enthält eine GRANT- oder EINE GRANT WITH GRANT-Berechtigung entweder direkt oder implizit an eine der Identitäten im Sicherheitskontext für jedes Objekt im Berechtigungsbereich.
Spezielle Aspekte für Berechtigungen auf Spaltenebene
Berechtigungen auf Spaltenebene werden mit der Syntax <table_name>(<Spalte _name>)erteilt. Beispiel:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
Ein DENY auf der Tabelle wird mit einem GRANT auf einer Spalte überschrieben. Ein nachfolgendes DENY auf der Tabelle entfernt jedoch das GRANT auf der Spalte.
Beispiele
In den Beispielen dieses Abschnitts wird veranschaulicht, wie Berechtigungsinformationen abgerufen werden.
A. Zurückgeben der vollständigen Liste der erteilten Berechtigungen
Die folgende Anweisung gibt alle Datenbank-Engine Berechtigung mithilfe der fn_builtin_permissions
Funktion zurück. Weitere Informationen finden Sie unter sys.fn_builtin_permissions (Transact-SQL).
SELECT * FROM fn_builtin_permissions(default);
GO
B. Zurückgeben der Berechtigungen für eine bestimmte Klasse von Objekten
Im folgenden Beispiel wird fn_builtin_permissions
verwendet, um alle Berechtigungen anzuzeigen, die für eine Kategorie des sicherungsfähigen Elements verfügbar sind. Im Beispiel werden Berechtigungen für Assemblys zurückgegeben.
SELECT * FROM fn_builtin_permissions('assembly');
GO
C. Zurückgeben der Berechtigungen, die dem ausführenden Prinzipal für ein Objekt gewährt werden
Im folgenden Beispiel wird mithilfe von fn_my_permissions
eine Liste der effektiven Berechtigungen zurückgegeben, die vom aufrufenden Prinzipal für ein bestimmtes sicherungsfähiges Element gespeichert werden. Im Beispiel werden Berechtigungen für ein Objekt mit dem Namen Orders55
zurückgegeben. Weitere Informationen finden Sie unter sys.fn_my_permissions (Transact-SQL).
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
D. Zurückgeben der berechtigungen, die für ein angegebenes Objekt gelten
Im folgenden Beispiel werden Berechtigungen für ein Objekt namens Yttrium
zurückgegeben. Beachten Sie, dass die integrierte OBJECT_ID
-Funktion zum Abrufen der ID des Yttrium
-Objekts verwendet wird.
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für