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
Jedem sicherungsfähigen SQL Server-Element werden Berechtigungen zugeordnet, die einem Prinzipal erteilt werden können. Datenbank-Engine-Berechtigungen im Datenbankmodul werden sowohl auf dem Serverlevel, das den Anmeldeinformationen und Serverrollen zugewiesen ist, als auch auf dem Datenbanklevel verwaltet, das den Datenbankbenutzer und Datenbankrollen zugewiesen ist. Das Model für Azure SQL-Datenbank wendet dieses System auch auf die Datenbankberechtigungen an. Die Berechtigungen auf Serverebene sind jedoch nicht verfügbar. Dieser Artikel bietet eine vollständige Liste der Berechtigungen. Eine typische Implementierung der Berechtigungen finden Sie unter "Erste Schritte mit Datenbankmodulberechtigungen".
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 – jedoch nicht alle – gelten für alle Plattformen. Zum Beispiel können in Azure SQL-Datenbank die meisten Berechtigungen auf Serverebene nicht erteilt werden, und einige Berechtigungen sind nur für Azure SQL-Datenbank sinnvoll. Neue Berechtigungen werden nach und nach in neuen Releases 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. In dem Artikel sys.fn_builtin_permissions wird erläutert, welche Berechtigungen in aktuellen Versionen jeweils neu sind.
In der SQL-Datenbank in Microsoft Fabric werden nur Benutzer und Rollen auf Datenbankebene unterstützt. Anmeldeinformationen, Rollen und das sa Konto auf Serverebene sind nicht verfügbar. In der SQL-Datenbank in Microsoft Fabric ist die Microsoft Entra-ID für Datenbankbenutzer die einzige unterstützte Authentifizierungsmethode. Weitere Informationen finden Sie unter Autorisierung in der SQL-Datenbank in Microsoft Fabric.
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 GRANTAnweisungen DENYREVOKEverwenden. 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 Datenbankmodulberechtigungen".
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 es sich bei dem SQL Server-Sicherheitsmodell um ein hierarchisches Modell handelt, beinhaltet CONTROL für einen bestimmten Gültigkeitsbereich implizit auch CONTROL für alle sicherungsfähigen Elemente in diesem Gültigkeitsbereich. 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 ein beliebiges Server Securable sein kann.
Überträgt die Berechtigung zum Erstellen, Ändern oder Löschen einzelner Instanzen des Server Securable. BEISPIELSWEISE ermöglicht ALTER ANY LOGIN das Erstellen, Ändern oder Ablegen von Anmeldungen in der Instanz.
ALTER ANY <Database Securable>, wobei es sich bei Database Securable um jedes beliebige sicherungsfähige Element auf Datenbankebene handeln kann.
Überträgt die Berechtigung zum Erstellen, Ändern oder Löschen (CREATE, ALTER oder DROP) einzelner Instanzen des Database Securable. Beispielsweise ermöglicht ALTER ANY SCHEMA das Erstellen, Ändern oder Ablegen eines Schemas in der Datenbank.
ÜBERNEHMEN EIGENTUM
Ermöglicht es dem Berechtigten, das Eigentum an dem verbrieften Gerät zu übernehmen, für das die Berechtigung erteilt wurde.
< Nachahmen>
Ermöglicht dem Empfänger, die Identität des Anmeldenamens anzunehmen.
Benutzer imitieren <>
Ermöglicht dem Empfänger, die Identität des Benutzers anzunehmen.
CREATE <Server Absicherbar>
Überträgt dem Empfänger die Berechtigung zum Erstellen des Server Securable.
CREATE <Sicherbare Datenbank>
Überträgt dem Berechtigten die Berechtigung zum Erstellen des Database Securable.
CREATE <Schema-enthaltene sichere Elemente>
Ü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 Klausel zu erstellen, die
WITH SCHEMABINDINGauf dieses Objekt verweist.
Diagramm der SQL Server-Berechtigungen
Das folgende Bild zeigt die Berechtigungen und ihre Beziehungen zueinander. 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 zu den Datenbank-Engine-Berechtigungen im PDF-Format in voller Größe herunterladen.
Berechtigungen für bestimmte sicherungsfähige Elemente
Die folgende Tabelle enthält eine Liste der wichtigsten Berechtigungsklassen und der sicherungsfähigen Elemente, für die sie erteilt werden können.
| Permission | Gilt für: |
|---|---|
| ALTER | Alle Klassen von Objekten mit Ausnahme TYPEvon . |
| CONTROL | Alle Objektklassen: AGGREGATE, APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, AVAILABILITY GROUP, CERTIFICATE, CONTRACT, CREDENTIALS, 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 |
| DELETE | Alle Klassen von Objekten außer DATABASE SCOPED CONFIGURATIONSERVER und TYPE. |
| EXECUTE | CLR-Typen, externe Skripts, Prozeduren (Transact-SQL und CLR), Skalar- und Aggregatfunktionen (Transact-SQL und CLR) und Synonyme |
| IMPERSONATE | Zugangsdaten und Benutzer*innen |
| INSERT | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
| RECEIVE | Service Broker-Warteschlange |
| 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 OBJEKT 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. |
| ÜBERNEHMEN EIGENTUM | Alle Klassen von Objekten außer DATABASE SCOPED CONFIGURATION, SERVER LOGINund USER. |
| UPDATE | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
| VIEW ÄNDERUNGSNACHVERFOLGUNG | Schemata und Tabellen |
| VIEW DEFINITION | Alle Klassen von Objekten außer DATABASE SCOPED CONFIGURATIONserver. |
Caution
Die Standardberechtigungen, die Systemobjekten zum Zeitpunkt der Installation erteilt wurden, werden sorgfältig bezüglich 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 Systemobjekte können die Funktionalität einschränken oder unterbrechen und potenziell dazu führen, dass Ihre SQL Server-Installation einen nicht unterstützten Zustand aufweist.
SQL Server-Berechtigungen
Die folgende Tabelle enthält eine vollständige Liste der SQL Server-Berechtigungen. Azure SQL-Datenbank-Berechtigungen sind nur für unterstützte sicherungsfähige Basiselemente verfügbar. Berechtigungen auf Serverebene können in Azure SQL-Datenbank nicht gewährt werden, in einigen Fällen sind jedoch stattdessen Datenbankberechtigungen verfügbar.
| Basis sicherbar | 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 | JEDES ÄNDERN APPLICATION ROLE |
| APPLICATION ROLE | CONTROL | CL | DATABASE | CONTROL |
| APPLICATION ROLE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| ASSEMBLY | ALTER | AL | DATABASE | JEDES ÄNDERN ASSEMBLY |
| ASSEMBLY | CONTROL | CL | DATABASE | CONTROL |
| ASSEMBLY | REFERENCES | RF | DATABASE | REFERENCES |
| ASSEMBLY | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| ASSEMBLY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| ASYMMETRIC KEY | ALTER | AL | DATABASE | JEDES ÄNDERN ASYMMETRIC KEY |
| ASYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| ASYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| ASYMMETRIC KEY | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| ASYMMETRIC KEY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| AVAILABILITY GROUP | ALTER | AL | SERVER | JEDES ÄNDERN AVAILABILITY GROUP |
| AVAILABILITY GROUP | CONTROL | CL | SERVER | Steuerungsserver |
| AVAILABILITY GROUP | ÜBERNEHMEN EIGENTUM | TO | SERVER | Steuerungsserver |
| AVAILABILITY GROUP | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
| CERTIFICATE | ALTER | AL | DATABASE | JEDES ÄNDERN CERTIFICATE |
| CERTIFICATE | CONTROL | CL | DATABASE | CONTROL |
| CERTIFICATE | REFERENCES | RF | DATABASE | REFERENCES |
| CERTIFICATE | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| CERTIFICATE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| CONTRACT | ALTER | AL | DATABASE | JEDES ÄNDERN CONTRACT |
| CONTRACT | CONTROL | CL | DATABASE | CONTROL |
| CONTRACT | REFERENCES | RF | DATABASE | REFERENCES |
| CONTRACT | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| CONTRACT | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| CREDENTIAL | CONTROL | CL | SERVER | Steuerungsserver |
| CREDENTIAL | REFERENCES | RF | SERVER | JEDES ÄNDERN CREDENTIAL |
| DATABASE | VERWALTEN VON DATABASE MASSENVORGÄNGEN | DABO | SERVER | Steuerungsserver |
| DATABASE | ALTER | AL | SERVER | JEDES ÄNDERN DATABASE |
| DATABASE | JEDES ÄNDERN APPLICATION ROLE | ALAR | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN ASSEMBLY | ALAS | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN ASYMMETRIC KEY | ALAK | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN CERTIFICATE | ALCF | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN COLUMN ENCRYPTION KEY | ALCK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN COLUMN MASTER KEY | ALCM Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN CONTRACT | ALSC | SERVER | Steuerungsserver |
| DATABASE | ÄNDERN EINER BELIEBIGEN DATABASE ÜBERWACHUNG | ALDA | SERVER | JEDES ÄNDERN SERVER AUDIT |
| DATABASE | ALTER ANY DATABASE DDL TRIGGER | ALTG | SERVER | Steuerungsserver |
| DATABASE | ALTER ANY DATABASEEVENT NOTIFICATION | ALED | SERVER | JEDES ÄNDERN EVENT NOTIFICATION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION | AADS | SERVER | JEDES ÄNDERN EVENT SESSION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ADD EVENT | LDAE | SERVER | ALTER ANY EVENT SESSION ADD EVENT |
| DATABASE | ÄNDERN EINES BELIEBIGEN ADD-ZIELS DATABASEEVENT SESSION | LDAT | SERVER | ÄNDERN EINES BELIEBIGEN ADD-ZIELS EVENT SESSION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DISABLE | DDES | SERVER | ALTER ANY EVENT SESSION DISABLE |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
| DATABASE | ÄNDERN EINES DATABASEEVENT SESSION BELIEBIGEN DROP-ZIELS | LDDT | SERVER | ÄNDERN EINES EVENT SESSION BELIEBIGEN DROP-ZIELS |
| DATABASE | ALTER ANY DATABASEEVENT SESSION ENABLE | EDES | SERVER | ALTER ANY EVENT SESSION ENABLE |
| DATABASE | ÄNDERN EINER BELIEBIGEN DATABASEEVENT SESSION OPTION | LDSO | SERVER | ÄNDERN EINER BELIEBIGEN EVENT SESSION OPTION |
| DATABASE | JEDES ÄNDERN DATABASE SCOPED CONFIGURATION | ALDC Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | ÄNDERN EINES BELIEBIGEN DATENBEREICHS | ALDS | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN EXTERNAL DATA SOURCE | AEDS | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN EXTERNAL FILE FORMAT | AEFF | SERVER | Steuerungsserver |
| DATABASE | ÄNDERN EINES EXTERNEN AUFTRAGS | AESJ | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN EXTERNAL LANGUAGE | ALLA | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN EXTERNAL LIBRARY | ALEL | SERVER | Steuerungsserver |
| DATABASE | ÄNDERN EINES EXTERNEN DATENSTROMS | AEST | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN FULLTEXT CATALOG | ALFT | SERVER | Steuerungsserver |
| DATABASE | BELIEBIGE MASKE ÄNDERN | AAMK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN MESSAGE TYPE | ALMT | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN REMOTE SERVICE BINDING | ALSB | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN ROLE | ALRL | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN ROUTE | ALRT | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN SCHEMA | ALSM | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN SECURITY POLICY | ALSP Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN SENSITIVITY CLASSIFICATION | AASC Gilt für SQL Server (SQL Server 2019 (15.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN SERVICE | ALSV | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN SYMMETRIC KEY | ALSK | SERVER | Steuerungsserver |
| DATABASE | JEDES ÄNDERN USER | ALUS | SERVER | Steuerungsserver |
| DATABASE | ALTER LEDGER | ALR | SERVER | CONTROL |
| DATABASE | ALTER LEDGER-KONFIGURATION | ALC | SERVER | Steuerungsserver |
| DATABASE | AUTHENTICATE | AUTH | SERVER | AUTHENTIFIZIEREN DES SERVERS |
| DATABASE | BACKUP DATABASE | BADB | SERVER | Steuerungsserver |
| DATABASE | BACKUP PROTOKOLL | BALO | SERVER | Steuerungsserver |
| DATABASE | CHECKPOINT | CP | SERVER | Steuerungsserver |
| DATABASE | CONNECT | CO | SERVER | Steuerungsserver |
| DATABASE | VERBINDUNGSREPLIKATION | CORP | SERVER | Steuerungsserver |
| DATABASE | CONTROL | CL | SERVER | Steuerungsserver |
| DATABASE | CREATE AGGREGATE | CRAG | SERVER | Steuerungsserver |
| DATABASE | BELIEBIG ERSTELLEN DATABASEEVENT SESSION | CRDS | SERVER | BELIEBIG ERSTELLEN EVENT SESSION |
| DATABASE | CREATE ASSEMBLY | CRAS | SERVER | Steuerungsserver |
| DATABASE | CREATE ASYMMETRIC KEY | CRAK | SERVER | Steuerungsserver |
| DATABASE | CREATE CERTIFICATE | CRCF | SERVER | Steuerungsserver |
| DATABASE | CREATE CONTRACT | CRSC | SERVER | Steuerungsserver |
| DATABASE | CREATE DATABASE | CRDB | SERVER | BELIEBIG ERSTELLEN DATABASE |
| DATABASE | CREATE DATABASE DDL EVENT NOTIFICATION | CRED | SERVER | CREATE DDL EVENT NOTIFICATION |
| DATABASE | CREATE DEFAULT | CRDF | SERVER | Steuerungsserver |
| DATABASE | CREATE EXTERNAL LANGUAGE | CRLA | SERVER | Steuerungsserver |
| DATABASE | CREATE EXTERNAL LIBRARY | CREL | SERVER | Steuerungsserver |
| DATABASE | CREATE FULLTEXT CATALOG | CRFT | SERVER | Steuerungsserver |
| DATABASE | CREATE FUNCTION | CRFN | SERVER | Steuerungsserver |
| DATABASE | CREATE MESSAGE TYPE | CRMT | SERVER | Steuerungsserver |
| DATABASE | CREATE PROCEDURE | CRPR | SERVER | Steuerungsserver |
| DATABASE | CREATE QUEUE | CRQU | SERVER | Steuerungsserver |
| DATABASE | CREATE REMOTE SERVICE BINDING | CRSB | SERVER | Steuerungsserver |
| DATABASE | CREATE ROLE | CRRL | SERVER | Steuerungsserver |
| DATABASE | CREATE ROUTE | CRRT | SERVER | Steuerungsserver |
| DATABASE | CREATE RULE | CRRU | SERVER | Steuerungsserver |
| DATABASE | CREATE SCHEMA | CRSM | SERVER | Steuerungsserver |
| DATABASE | CREATE SERVICE | CRSV | SERVER | Steuerungsserver |
| DATABASE | CREATE SYMMETRIC KEY | CRSK | SERVER | Steuerungsserver |
| DATABASE | CREATE SYNONYM | CRSN | SERVER | Steuerungsserver |
| DATABASE | CREATE TABLE | CRTB | SERVER | Steuerungsserver |
| DATABASE | CREATE TYPE | CRTY | SERVER | Steuerungsserver |
| DATABASE | CREATE USER | CUSR | SERVER | Steuerungsserver |
| DATABASE | CREATE VIEW | CRVW | SERVER | Steuerungsserver |
| DATABASE | CREATE XML SCHEMA COLLECTION | CRXS | SERVER | Steuerungsserver |
| DATABASE | DELETE | DL | SERVER | Steuerungsserver |
| DATABASE | DROP ANY DATABASEEVENT SESSION | DRDS | SERVER | DROP ANY EVENT SESSION |
| DATABASE | LEDGER AKTIVIEREN | EL | SERVER | CONTROL |
| DATABASE | EXECUTE | EX | SERVER | Steuerungsserver |
| DATABASE | AUSFÜHREN BELIEBIGER EXTERNER ELEMENTE ENDPOINT | EAEE | SERVER | Steuerungsserver |
| DATABASE | AUSFÜHREN EINES BELIEBIGEN EXTERNEN SKRIPTS | EAES Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version). |
SERVER | Steuerungsserver |
| DATABASE | INSERT | IN | SERVER | Steuerungsserver |
| DATABASE | KILL DATABASE CONNECTION | KIDC Gilt nur für Azure SQL-Datenbank. Verwenden Sie ALTER ANY CONNECTION in SQL Server. |
SERVER | ÄNDERN EINER BELIEBIGEN VERBINDUNG |
| DATABASE | REFERENCES | RF | SERVER | Steuerungsserver |
| DATABASE | SELECT | SL | SERVER | Steuerungsserver |
| DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
| DATABASE | ABONNIEREN VON ABFRAGEBENACHRICHTIGUNGEN | SUQN | SERVER | Steuerungsserver |
| DATABASE | ÜBERNEHMEN EIGENTUM | TO | SERVER | Steuerungsserver |
| DATABASE | UNMASK | UMSK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
| DATABASE | UPDATE | UP | SERVER | Steuerungsserver |
| DATABASE | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | VWCK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | VIEW SERVERSTATUS |
| DATABASE | VIEW ANY COLUMN MASTER KEY DEFINITION | VWCM Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | VIEW SERVERSTATUS |
| DATABASE | VIEW JEGLICHE SENSITIVITY CLASSIFICATION | VASC | SERVER | Steuerungsserver |
| DATABASE | VIEW KRYPTOGRAFISCH GESICHERTE DEFINITION | VCD | SERVER | VIEW JEDE KRYPTOGRAFISCH GESICHERTE DEFINITION |
| DATABASE | VIEW DATABASE LEISTUNGSSTATUS | VDP | SERVER | VIEW SERVERLEISTUNGSSTATUS |
| DATABASE | VIEW DATABASE SICHERHEITSÜBERWACHUNG | VDSA | SERVER | Steuerungsserver |
| DATABASE | VIEW DATABASE SICHERHEITSSTATUS | VDS | SERVER | VIEW SERVERSICHERHEITSSTATUS |
| DATABASE | VIEW DATABASE STAAT | VWDS | SERVER | VIEW SERVERSTATUS |
| DATABASE | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
| DATABASE | VIEW LEDGER-INHALT | VLC | SERVER | CONTROL |
| DATABASE | VIEW SICHERHEITSDEFINITION | VWS | SERVER | VIEW JEDE SICHERHEITSDEFINITION |
| DATABASE | VIEW LEISTUNGSDEFINITION | VWP | SERVER | VIEW JEDE 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 | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| DATABASE SCOPED CREDENTIAL | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| ENDPOINT | ALTER | AL | SERVER | JEDES ÄNDERN ENDPOINT |
| ENDPOINT | CONNECT | CO | SERVER | Steuerungsserver |
| ENDPOINT | CONTROL | CL | SERVER | Steuerungsserver |
| ENDPOINT | ÜBERNEHMEN EIGENTUM | TO | SERVER | Steuerungsserver |
| ENDPOINT | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
| FULLTEXT CATALOG | ALTER | AL | DATABASE | JEDES ÄNDERN FULLTEXT CATALOG |
| FULLTEXT CATALOG | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT CATALOG | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT CATALOG | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| FULLTEXT CATALOG | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| FULLTEXT STOPLIST | ALTER | AL | DATABASE | JEDES ÄNDERN FULLTEXT CATALOG |
| FULLTEXT STOPLIST | CONTROL | CL | DATABASE | CONTROL |
| FULLTEXT STOPLIST | REFERENCES | RF | DATABASE | REFERENCES |
| FULLTEXT STOPLIST | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| FULLTEXT STOPLIST | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| LOGIN | ALTER | AL | SERVER | JEDES ÄNDERN LOGIN |
| LOGIN | CONTROL | CL | SERVER | Steuerungsserver |
| LOGIN | IMPERSONATE | IM | SERVER | Steuerungsserver |
| LOGIN | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
| MESSAGE TYPE | ALTER | AL | DATABASE | JEDES ÄNDERN MESSAGE TYPE |
| MESSAGE TYPE | CONTROL | CL | DATABASE | CONTROL |
| MESSAGE TYPE | REFERENCES | RF | DATABASE | REFERENCES |
| MESSAGE TYPE | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| MESSAGE TYPE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| OBJECT | ALTER | AL | SCHEMA | ALTER |
| OBJECT | CONTROL | CL | SCHEMA | CONTROL |
| OBJECT | DELETE | DL | SCHEMA | DELETE |
| OBJECT | EXECUTE | EX | SCHEMA | EXECUTE |
| OBJECT | INSERT | IN | SCHEMA | INSERT |
| OBJECT | RECEIVE | RC | SCHEMA | CONTROL |
| OBJECT | REFERENCES | RF | SCHEMA | REFERENCES |
| OBJECT | SELECT | SL | SCHEMA | SELECT |
| OBJECT | ÜBERNEHMEN EIGENTUM | TO | SCHEMA | CONTROL |
| OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
| OBJECT | UPDATE | UP | SCHEMA | UPDATE |
| OBJECT | VIEW ÄNDERUNGSNACHVERFOLGUNG | VWCT | SCHEMA | VIEW ÄNDERUNGSNACHVERFOLGUNG |
| OBJECT | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
| REMOTE SERVICE BINDING | ALTER | AL | DATABASE | JEDES ÄNDERN REMOTE SERVICE BINDING |
| REMOTE SERVICE BINDING | CONTROL | CL | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| REMOTE SERVICE BINDING | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| ROLE | ALTER | AL | DATABASE | JEDES ÄNDERN ROLE |
| ROLE | CONTROL | CL | DATABASE | CONTROL |
| ROLE | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| ROLE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| ROUTE | ALTER | AL | DATABASE | JEDES ÄNDERN ROUTE |
| ROUTE | CONTROL | CL | DATABASE | CONTROL |
| ROUTE | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| ROUTE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| SCHEMA | ALTER | AL | DATABASE | JEDES ÄNDERN SCHEMA |
| SCHEMA | CONTROL | CL | DATABASE | CONTROL |
| SCHEMA | CREATE SEQUENCE | CRSO | DATABASE | CONTROL |
| SCHEMA | DELETE | DL | DATABASE | DELETE |
| SCHEMA | EXECUTE | EX | DATABASE | EXECUTE |
| SCHEMA | INSERT | IN | DATABASE | INSERT |
| SCHEMA | REFERENCES | RF | DATABASE | REFERENCES |
| SCHEMA | SELECT | SL | DATABASE | SELECT |
| SCHEMA | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
| SCHEMA | UPDATE | UP | DATABASE | UPDATE |
| SCHEMA | VIEW ÄNDERUNGSNACHVERFOLGUNG | VWCT | DATABASE | VIEW ÄNDERUNGSNACHVERFOLGUNG |
| SCHEMA | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| SEARCH PROPERTY LIST | ALTER | AL | SERVER | JEDES ÄNDERN FULLTEXT CATALOG |
| SEARCH PROPERTY LIST | CONTROL | CL | SERVER | CONTROL |
| SEARCH PROPERTY LIST | REFERENCES | RF | SERVER | REFERENCES |
| SEARCH PROPERTY LIST | ÜBERNEHMEN EIGENTUM | TO | SERVER | CONTROL |
| SEARCH PROPERTY LIST | VIEW DEFINITION | VW | SERVER | VIEW DEFINITION |
| SERVER | VERWALTEN VON MASSENVORGÄNGEN | ADBO | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN AVAILABILITY GROUP | ALAG | Nicht anwendbar | Nicht anwendbar |
| SERVER | ÄNDERN EINER BELIEBIGEN VERBINDUNG | ALCO | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN CREDENTIAL | ALCD | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN DATABASE | ALDB | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN ENDPOINT | ALHE | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN EVENT NOTIFICATION | ALES | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN EVENT SESSION | AAES | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALTER ANY EVENT SESSION ADD EVENT | LSAE | Nicht anwendbar | Nicht anwendbar |
| SERVER | ÄNDERN EINES BELIEBIGEN ADD-ZIELS EVENT SESSION | LSAT | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALTER ANY EVENT SESSION DISABLE | DES | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | Nicht anwendbar | Nicht anwendbar |
| SERVER | ÄNDERN EINES EVENT SESSION BELIEBIGEN DROP-ZIELS | LSDT | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALTER ANY EVENT SESSION ENABLE | EES | Nicht anwendbar | Nicht anwendbar |
| SERVER | ÄNDERN EINER BELIEBIGEN EVENT SESSION OPTION | LESO | Nicht anwendbar | Nicht anwendbar |
| SERVER | ÄNDERN EINES BELIEBIGEN VERKNÜPFTEN SERVERS | ALLS | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN LOGIN | ALLG | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN SERVER AUDIT | ALAA | Nicht anwendbar | Nicht anwendbar |
| SERVER | JEDES ÄNDERN SERVER ROLE | ALSR | Nicht anwendbar | Nicht anwendbar |
| SERVER | RESSOURCEN ÄNDERN | ALRS | Nicht anwendbar | Nicht anwendbar |
| SERVER | SERVERSTATUS ÄNDERN | ALSS | Nicht anwendbar | Nicht anwendbar |
| SERVER | EINSTELLUNGEN ÄNDERN | ALST | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALTER TRACE | ALTR | Nicht anwendbar | Nicht anwendbar |
| SERVER | AUTHENTIFIZIEREN DES SERVERS | AUTH | Nicht anwendbar | Nicht anwendbar |
| SERVER | VERBINDEN ALLER VERBINDUNGEN DATABASE | CADB | Nicht anwendbar | Nicht anwendbar |
| SERVER | CONNECT SQL | COSQ | Nicht anwendbar | Nicht anwendbar |
| SERVER | Steuerungsserver | CL | Nicht anwendbar | Nicht anwendbar |
| SERVER | BELIEBIG ERSTELLEN DATABASE | CRDB | Nicht anwendbar | Nicht anwendbar |
| SERVER | CREATE AVAILABILITY GROUP | CRAC | Nicht anwendbar | Nicht anwendbar |
| SERVER | CREATE DDL EVENT NOTIFICATION | CRDE | Nicht anwendbar | Nicht anwendbar |
| SERVER | CREATE ENDPOINT | CRHE | Nicht anwendbar | Nicht anwendbar |
| SERVER | CREATE SERVER ROLE | CRSR | Nicht anwendbar | Nicht anwendbar |
| SERVER | ABLAUFVERFOLGUNG ERSTELLEN EVENT NOTIFICATION | CRTE | Nicht anwendbar | Nicht anwendbar |
| SERVER | EXTERNER ZUGRIFF ASSEMBLY | XA | Nicht anwendbar | Nicht anwendbar |
| SERVER | IDENTITÄTSWECHSEL EINES BELIEBIGEN LOGIN | IAL | Nicht anwendbar | Nicht anwendbar |
| SERVER | ALLE USER SICHERUNGSFÄHIGEN ELEMENTE AUSWÄHLEN | SUS | Nicht anwendbar | Nicht anwendbar |
| SERVER | SHUTDOWN | SHDN | Nicht anwendbar | Nicht anwendbar |
| SERVER | UNSICHERE ASSEMBLY | XU | Nicht anwendbar | Nicht anwendbar |
| SERVER | VIEW ANY DATABASE | VWDB | Nicht anwendbar | Nicht anwendbar |
| SERVER | VIEW ANY DEFINITION | VWAD | Nicht anwendbar | Nicht anwendbar |
| SERVER | VIEW SERVERSTATUS | VWSS | Nicht anwendbar | Nicht anwendbar |
| SERVER ROLE | ALTER | AL | SERVER | JEDES ÄNDERN SERVER ROLE |
| SERVER ROLE | CONTROL | CL | SERVER | Steuerungsserver |
| SERVER ROLE | ÜBERNEHMEN EIGENTUM | TO | SERVER | Steuerungsserver |
| SERVER ROLE | VIEW DEFINITION | VW | SERVER | VIEW ANY DEFINITION |
| SERVICE | ALTER | AL | DATABASE | JEDES ÄNDERN SERVICE |
| SERVICE | CONTROL | CL | DATABASE | CONTROL |
| SERVICE | SEND | SN | DATABASE | CONTROL |
| SERVICE | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| SERVICE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| SYMMETRIC KEY | ALTER | AL | DATABASE | JEDES ÄNDERN SYMMETRIC KEY |
| SYMMETRIC KEY | CONTROL | CL | DATABASE | CONTROL |
| SYMMETRIC KEY | REFERENCES | RF | DATABASE | REFERENCES |
| SYMMETRIC KEY | ÜBERNEHMEN EIGENTUM | TO | DATABASE | CONTROL |
| SYMMETRIC KEY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| TYPE | CONTROL | CL | SCHEMA | CONTROL |
| TYPE | EXECUTE | EX | SCHEMA | EXECUTE |
| TYPE | REFERENCES | RF | SCHEMA | REFERENCES |
| TYPE | ÜBERNEHMEN EIGENTUM | TO | SCHEMA | CONTROL |
| TYPE | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
| USER | ALTER | AL | DATABASE | JEDES ÄNDERN USER |
| USER | CONTROL | CL | DATABASE | CONTROL |
| USER | IMPERSONATE | IM | DATABASE | CONTROL |
| USER | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
| XML SCHEMA COLLECTION | ALTER | AL | SCHEMA | ALTER |
| XML SCHEMA COLLECTION | CONTROL | CL | SCHEMA | CONTROL |
| XML SCHEMA COLLECTION | EXECUTE | EX | SCHEMA | EXECUTE |
| XML SCHEMA COLLECTION | REFERENCES | RF | SCHEMA | REFERENCES |
| XML SCHEMA COLLECTION | ÜBERNEHMEN EIGENTUM | 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 Berechtigungen für Systemmetadaten
Serverebene:
- VIEW JEDE SICHERHEITSDEFINITION
- VIEW JEDE LEISTUNGSDEFINITION
- VIEW SERVERSICHERHEITSSTATUS
- VIEW SERVERLEISTUNGSSTATUS
- VIEW JEDE KRYPTOGRAFISCH GESICHERTE DEFINITION
Datenbankebene:
- VIEW DATABASE SICHERHEITSSTATUS
- VIEW DATABASE LEISTUNGSSTATUS
- VIEW SICHERHEITSDEFINITION
- VIEW LEISTUNGSDEFINITION
- VIEW KRYPTOGRAFISCH GESICHERTE DEFINITION
Berechtigungen für erweiterte Ereignisse
Serverebene:
- BELIEBIG ERSTELLEN EVENT SESSION
- DROP ANY EVENT SESSION
- ÄNDERN EINER BELIEBIGEN EVENT SESSION OPTION
- ALTER ANY EVENT SESSION ADD EVENT
- ALTER ANY EVENT SESSION DROP EVENT
- ALTER ANY EVENT SESSION ENABLE
- ALTER ANY EVENT SESSION DISABLE
- ÄNDERN EINES BELIEBIGEN ADD-ZIELS EVENT SESSION
- ÄNDERN EINES EVENT SESSION BELIEBIGEN DROP-ZIELS
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY EVENT SESSION
Datenbankebene:
- BELIEBIG ERSTELLEN DATABASEEVENT SESSION
- DROP ANY DATABASEEVENT SESSION
- ÄNDERN EINER BELIEBIGEN DATABASEEVENT SESSION OPTION
- ALTER ANY DATABASEEVENT SESSION ADD EVENT
- ALTER ANY DATABASEEVENT SESSION DROP EVENT
- ALTER ANY DATABASEEVENT SESSION ENABLE
- ALTER ANY DATABASEEVENT SESSION DISABLE
- ÄNDERN EINES BELIEBIGEN ADD-ZIELS DATABASEEVENT SESSION
- ÄNDERN EINES DATABASEEVENT SESSION BELIEBIGEN DROP-ZIELS
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY DATABASEEVENT SESSION
Sicherheitsbezogene Objektberechtigungen
- CONTROL (CREDENTIAL)
- CREATE LOGIN
- CREATE USER
- VERWEISE (CREDENTIAL)
- ENTMASKIEREN (OBJEKT)
- UNMASK (SCHEMA)
- VIEW FEHLERPROTOKOLL
- VIEW SERVERSICHERHEITSÜBERWACHUNG
- VIEW DATABASE SICHERHEITSÜBERWACHUNG
Ledger-Berechtigungen
- ALTER LEDGER
- ALTER LEDGER-KONFIGURATION
- LEDGER AKTIVIEREN
- VIEW LEDGER-INHALT
Andere Berechtigungen für Datenbank
- ÄNDERN EINES EXTERNEN AUFTRAGS
- ÄNDERN EINES EXTERNEN DATENSTROMS
- AUSFÜHREN BELIEBIGER EXTERNER ELEMENTE ENDPOINT
Zusammenfassung des Algorithmus zur Berechtigungsprüfung
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 Blockierung DENY gefunden wird, sucht der Algorithmus nach einem GRANT , der ausreichendEn Zugriff bietet. Der Algorithmus enthält drei wesentliche Elemente, den Sicherheitskontext, den Berechtigungsbereichund die erforderlichen Berechtigung.
Note
Sie können keine Berechtigungen für sa, dbo, den Entitätsbesitzer, information_schema, sys oder sich selbst erteilen, verweigern oder widerrufen.
Sicherheitskontext
Dies ist die Gruppe von Prinzipalen, die Berechtigungen für die Zugriffsüberprüfung einbringen. Dies sind Berechtigungen, die sich auf die aktuelle Anmeldung oder den aktuellen Benutzer beziehen, es sei denn, der Sicherheitskontext wurde mithilfe der EXECUTE AS Anweisung in einen anderen Anmelde- oder Benutzer geändert. Der Sicherheitskontext schließt die folgenden Prinzipale ein:
Die Anmeldung
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.
Berechtigungsraum
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).
Erforderliche Berechtigung
Die Art der erforderlichen Berechtigung. Beispiel: INSERT, , , UPDATE, DELETESELECT, 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 INSERT auch die Berechtigung für mehrere Tabellen erfordern, auf die von der gespeicherten Prozedur verwiesen wird.
Eine dynamische Verwaltungsansicht kann sowohl SERVER STATE als auch VIEW SELECT-Berechtigung für die Ansicht 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 ein GRANT, GRANT WITH GRANToder DENY; angegeben werden, oder die Berechtigungen können impliziert oder abgedeckt werden.GRANTDENY 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.
Note
A GRANT of a column-level permission overrides a DENY at the object level. Weitere Informationen finden Sie unter DENY Objektberechtigungen.
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-Berechtigung GRANT 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 <Tabellenname>(<Spaltenname>) erteilt. Beispiel:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
A DENY in der Tabelle wird durch eine GRANT Spalte überschrieben. Eine nachfolgende DENY Tabelle entfernt jedoch die Spalte GRANT.
Examples
In den Beispielen dieses Abschnitts wird veranschaulicht, wie Berechtigungsinformationen abgerufen werden.
A. Zurückgeben der vollständigen Liste erteilbarer Berechtigungen
Die folgende Anweisung gibt mithilfe der fn_builtin_permissions-Funktion alle Datenbank-Engine-Berechtigungen zurück. Weitere Informationen finden Sie unter sys.fn_builtin_permissions.
SELECT * FROM fn_builtin_permissions(default);
GO
B. Zurückgeben der Berechtigungen für eine bestimmte Objektklasse
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 erteilt wurden
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.
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
D. Zurückgeben von Berechtigungen, die auf ein angegebenes Objekt angewendet werden können
Im folgenden Beispiel werden Berechtigungen für ein Objekt namens Yttriumzurückgegeben. 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