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.
Geltend für:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database 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 SQL-Datenbanken in Microsoft Fabric ist 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 sich mit den erforderlichen Berechtigungen vertraut gemacht haben, können Sie die Anweisungen GRANT, REVOKE und DENY verwenden, um Berechtigungen auf Serverebene auf Anmeldungen oder Serverrollen und Berechtigungen auf Datenbankebene auf Benutzer oder Datenbankrollen anzuwenden. Zum 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. 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>, 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. So überträgt z. B. ALTER ANY SCHEMA die Berechtigung zum Erstellen, Ändern oder Löschen eines beliebigen Schemas in der Datenbank.
VERANTWORTUNG ÜBERNEHMEN
Ermöglicht es dem Berechtigten, das Eigentum an dem verbrieften Gerät zu übernehmen, für das die Berechtigung erteilt wurde.
IMPERSONATE <Login>
Ermöglicht dem Empfänger, die Identität des Anmeldenamens anzunehmen.
IMPERSONATE <User>
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.
REFERENZEN
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
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.
Berechtigung | Betrifft |
---|---|
ALTER | Alle Objektklassen außer TYPE. |
CONTROL | Alle Objektklassen: AGGREGATE, APPLICATION ROLE, ASSEMBLY, ASYMMETRISCHER SCHLÜSSEL, AVAILABILITY GROUP, CERTIFICATE, CONTRACT, ANMELDEDATEN, DATABASE, DATABASE SCOPED CREDENTIAL, DEFAULT, ENDPOINT, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, LOGIN, NACHRICHTENTYP, PROCEDURE, QUEUE, REMOTE SERVICE BINDING, ROLE, ROUTE, RULE, SCHEMA, SEARCH PROPERTY LIST, SERVER, SERVER ROLE, SERVICE, Symmetrischer Schlüssel SYNONYM, TABLE, TYPE, USER, VIEW und XML-SCHEMA-SAMMLUNG |
Löschen | Alle Objektklassen außer DATABASE SCOPED CONFIGURATION, SERVER und TYPE. |
AUSFÜHREN | 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 |
REFERENZEN | AGGREGATE, ASSEMBLY, ASYMMETRISCHER SCHLÜSSEL, CERTIFICATE, CONTRACT, ANMELDEDATEN (Gilt für SQL Server 2022 (16.x) und höher). DATABASE, DATABASE SCOPED CREDENTIAL, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, NACHRICHTENTYP, PROCEDURE, QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJECT, Symmetrischer Schlüssel TABLE, TYPE, VIEW und XML-SCHEMA-SAMMLUNG |
SELECT | Synonyme, Tabellen und Spalten, Ansichten und Spalten. Eine Berechtigung kann auf Datenbank-, Schema- oder Objektebene erteilt werden. |
VERANTWORTUNG ÜBERNEHMEN | Alle Objektklassen außer DATABASE SCOPED CONFIGURATION, LOGIN, SERVER und USER. |
Aktualisierung | 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 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.
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 | REFERENZEN | RF | DATABASE | REFERENZEN |
ASSEMBLY | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
ASSEMBLY | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
asymmetrischer Schlüssel | ALTER | AL | DATABASE | ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS |
asymmetrischer Schlüssel | CONTROL | CL | DATABASE | CONTROL |
asymmetrischer Schlüssel | REFERENZEN | RF | DATABASE | REFERENZEN |
asymmetrischer Schlüssel | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
asymmetrischer Schlüssel | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
AVAILABILITY GROUP | ALTER | AL | SERVER | ALTER ANY AVAILABILITY GROUP |
AVAILABILITY GROUP | CONTROL | CL | SERVER | Steuerungsserver |
AVAILABILITY GROUP | VERANTWORTUNG ÜBERNEHMEN | TO | SERVER | Steuerungsserver |
AVAILABILITY GROUP | VIEW DEFINITION | VW | SERVER | Jede Definition ansehen |
CERTIFICATE | ALTER | AL | DATABASE | ALTER ANY CERTIFICATE |
CERTIFICATE | CONTROL | CL | DATABASE | CONTROL |
CERTIFICATE | REFERENZEN | RF | DATABASE | REFERENZEN |
CERTIFICATE | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
CERTIFICATE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
VERTRAG | ALTER | AL | DATABASE | ÄNDERN EINES VERTRAGS |
VERTRAG | CONTROL | CL | DATABASE | CONTROL |
VERTRAG | REFERENZEN | RF | DATABASE | REFERENZEN |
VERTRAG | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
VERTRAG | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
BERECHTIGUNGSNACHWEIS | CONTROL | CL | SERVER | Steuerungsserver |
BERECHTIGUNGSNACHWEIS | REFERENZEN | RF | SERVER | ALTER ANY CREDENTIAL |
DATABASE | ADMINISTER DATABASE BULK OPERATIONS | DABO | SERVER | Steuerungsserver |
DATABASE | ALTER | AL | SERVER | ALTER ANY DATABASE |
DATABASE | ALTER ANY APPLICATION ROLE | ALAR | SERVER | Steuerungsserver |
DATABASE | ALTER ANY ASSEMBLY | ALAS | SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINES ASYMMETRISCHEN SCHLÜSSELS | ALAK | SERVER | Steuerungsserver |
DATABASE | ALTER ANY CERTIFICATE | ALCF | SERVER | Steuerungsserver |
DATABASE | ALTER ANY COLUMN ENCRYPTION KEY | ALCK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ALTER ANY COLUMN MASTER KEY | ALCM Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINES VERTRAGS | ALSC | SERVER | Steuerungsserver |
DATABASE | ALTER ANY DATABASE AUDIT | ALDA | SERVER | ÄNDERN EINER SERVERÜBERWACHUNG |
DATABASE | ALTER ANY DATABASE DDL TRIGGER | ALTG | SERVER | Steuerungsserver |
DATABASE | Benachrichtigungen zu Datenbankereignissen ändern | 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 | ALTER ANY DATABASE EVENT SESSION DISABLE | DDES | SERVER | ALTER ANY EVENT SESSION DISABLE |
DATABASE | ALTER ANY DATABASE EVENT SESSION DROP EVENT | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
DATABASE | ALTER ANY DATABASE EVENT SESSION DROP TARGET | LDDT | SERVER | ALTER ANY EVENT SESSION DROP TARGET |
DATABASE | ALTER ANY DATABASE EVENT SESSION ENABLE | EDES | SERVER | ALTER ANY EVENT SESSION ENABLE |
DATABASE | ALTER ANY DATABASE EVENT SESSION OPTION | LDSO | SERVER | ALTER ANY EVENT SESSION OPTION |
DATABASE | ALTER ANY DATABASE SCOPED CONFIGURATION | ALDC Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ALTER ANY DATASPACE | ALDS | SERVER | Steuerungsserver |
DATABASE | ÄNDERE JEDE EXTERNE DATENQUELLE | AEDS | SERVER | Steuerungsserver |
DATABASE | ALTER ANY EXTERNAL FILE FORMAT | AEFF | SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINES EXTERNEN AUFTRAGS | AESJ | SERVER | Steuerungsserver |
DATABASE | ALTER ANY EXTERNAL LANGUAGE | ALLA | SERVER | Steuerungsserver |
DATABASE | ALTER ANY EXTERNAL LIBRARY | ALEL | SERVER | Steuerungsserver |
DATABASE | ALTER ANY EXTERNAL STREAM | AEST | SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS | ALFT | SERVER | Steuerungsserver |
DATABASE | ALTER ANY MASK | AAMK Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ALTER ANY MESSAGE TYPE | ALMT | SERVER | Steuerungsserver |
DATABASE | ALTER ANY REMOTE SERVICE BINDING | ALSB | SERVER | Steuerungsserver |
DATABASE | ALTER ANY ROLE | ALRL | SERVER | Steuerungsserver |
DATABASE | ALTER ANY ROUTE | ALRT | SERVER | Steuerungsserver |
DATABASE | ALTER ANY SCHEMA | ALSM | SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINER SICHERHEITSRICHTLINIE | ALSP Gilt für SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ALTER ANY SENSITIVITY CLASSIFICATION | AASC Gilt für SQL Server (SQL Server 2019 (15.x) bis zur aktuellen Version), Azure SQL-Datenbank. |
SERVER | Steuerungsserver |
DATABASE | ÄNDERE JEDEN DIENST | ALSV | SERVER | Steuerungsserver |
DATABASE | ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS | ALSK | SERVER | Steuerungsserver |
DATABASE | ALTER ANY USER | ALUS | SERVER | Steuerungsserver |
DATABASE | ALTER LEDGER | ALR | SERVER | CONTROL |
DATABASE | ALTER LEDGER CONFIGURATION | ALC | SERVER | Steuerungsserver |
DATABASE | AUTHENTICATE | AUTH | SERVER | AUTHENTIFIZIEREN DES SERVERS |
DATABASE | BACKUP DATABASE | BADB | SERVER | Steuerungsserver |
DATABASE | BACKUP LOG | BALO | SERVER | Steuerungsserver |
DATABASE | Kontrollpunkt | CP | SERVER | Steuerungsserver |
DATABASE | CONNECT | Kohlenmonoxid | SERVER | Steuerungsserver |
DATABASE | CONNECT REPLICATION | CORP | SERVER | Steuerungsserver |
DATABASE | CONTROL | CL | SERVER | Steuerungsserver |
DATABASE | CREATE AGGREGATE | CRAG | SERVER | Steuerungsserver |
DATABASE | CREATE ANY DATABASE EVENT SESSION | CRDS | SERVER | CREATE ANY EVENT SESSION |
DATABASE | CREATE ASSEMBLY | CRAS | SERVER | Steuerungsserver |
DATABASE | ERSTELLEN EINES ASYMMETRISCHEN SCHLÜSSELS | CRAK | SERVER | Steuerungsserver |
DATABASE | ZERTIFIKAT ERSTELLEN | CRCF | SERVER | Steuerungsserver |
DATABASE | VERTRAG ERSTELLEN | CRSC | SERVER | Steuerungsserver |
DATABASE | DATENBANK ERSTELLEN | CRDB | SERVER | CREATE ANY DATABASE |
DATABASE | CREATE-DATABASE-DDL-Ereignisbenachrichtigung | CRED | SERVER | Ddl-Ereignisbenachrichtigung erstellen |
DATABASE | CREATE DEFAULT | CRDF | SERVER | Steuerungsserver |
DATABASE | CREATE EXTERNAL LANGUAGE | CRLA | SERVER | Steuerungsserver |
DATABASE | EXTERNE BIBLIOTHEK ERSTELLEN | CREL | SERVER | Steuerungsserver |
DATABASE | FULLTEXT-KATALOG ERSTELLEN | 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 | ROUTE ERSTELLEN | CRRT | SERVER | Steuerungsserver |
DATABASE | REGEL ERSTELLEN | CRRU | SERVER | Steuerungsserver |
DATABASE | SCHEMA ERSTELLEN | CRSM | SERVER | Steuerungsserver |
DATABASE | DIENST ERSTELLEN | CRSV | SERVER | Steuerungsserver |
DATABASE | SYMMETRISCHER SCHLÜSSEL ERSTELLEN | CRSK | SERVER | Steuerungsserver |
DATABASE | SYNONYM ERSTELLEN | CRSN | SERVER | Steuerungsserver |
DATABASE | TABELLE ERSTELLEN | CRTB | SERVER | Steuerungsserver |
DATABASE | CREATE TYPE | CRTY | SERVER | Steuerungsserver |
DATABASE | BENUTZER ERSTELLEN | CUSR | SERVER | Steuerungsserver |
DATABASE | ANSICHT ERSTELLEN | CRVW | SERVER | Steuerungsserver |
DATABASE | ERSTELLEN EINER XML-SCHEMAAUFLISTUNG | CRXS | SERVER | Steuerungsserver |
DATABASE | Löschen | DL | SERVER | Steuerungsserver |
DATABASE | DROP ANY DATABASE EVENT SESSION | DRDS | SERVER | DROP ANY EVENT SESSION |
DATABASE | LEDGER AKTIVIEREN | EL | SERVER | CONTROL |
DATABASE | AUSFÜHREN | EX | SERVER | Steuerungsserver |
DATABASE | EXECUTE ANY EXTERNAL ENDPOINT | EAEE | SERVER | Steuerungsserver |
DATABASE | EXECUTE ANY EXTERNAL SCRIPT | 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 | ALTER ANY CONNECTION |
DATABASE | REFERENZEN | RF | SERVER | Steuerungsserver |
DATABASE | SELECT | SL | SERVER | Steuerungsserver |
DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
DATABASE | ABONNIEREN VON ABFRAGEBENACHRICHTIGUNGEN | SUQN | SERVER | Steuerungsserver |
DATABASE | VERANTWORTUNG ÜBERNEHMEN | 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 | Aktualisierung | 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 | SERVERSTATUS ANZEIGEN |
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 | SERVERSTATUS ANZEIGEN |
DATABASE | ANZEIGE JEDER SENSITIVITÄTSKLASSIFIZIERUNG | VASC | SERVER | Steuerungsserver |
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 | Steuerungsserver |
DATABASE | DATENBANKSICHERHEITSSTATUS ANZEIGEN | VDS | SERVER | SICHERHEITSSTATUS DES SERVERS ANZEIGEN |
DATABASE | VIEW DATABASE STATE | VWDS | SERVER | SERVERSTATUS ANZEIGEN |
DATABASE | VIEW DEFINITION | VW | SERVER | Jede Definition ansehen |
DATABASE | VIEW LEDGER CONTENT | VLC | SERVER | CONTROL |
DATABASE | SICHERHEITSDEFINITION ANZEIGEN | VWS | SERVER | ANZEIGEN EINER SICHERHEITSDEFINITION |
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 | REFERENZEN | RF | DATABASE | REFERENZEN |
DATABASE SCOPED CREDENTIAL | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
DATABASE SCOPED CREDENTIAL | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ENDPUNKT | ALTER | AL | SERVER | ALTER ANY ENDPOINT |
ENDPUNKT | CONNECT | Kohlenmonoxid | SERVER | Steuerungsserver |
ENDPUNKT | CONTROL | CL | SERVER | Steuerungsserver |
ENDPUNKT | VERANTWORTUNG ÜBERNEHMEN | TO | SERVER | Steuerungsserver |
ENDPUNKT | VIEW DEFINITION | VW | SERVER | Jede Definition ansehen |
Volltextkatalog | ALTER | AL | DATABASE | ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS |
Volltextkatalog | CONTROL | CL | DATABASE | CONTROL |
Volltextkatalog | REFERENZEN | RF | DATABASE | REFERENZEN |
Volltextkatalog | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
Volltextkatalog | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
FULLTEXT STOPLIST | ALTER | AL | DATABASE | ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS |
FULLTEXT STOPLIST | CONTROL | CL | DATABASE | CONTROL |
FULLTEXT STOPLIST | REFERENZEN | RF | DATABASE | REFERENZEN |
FULLTEXT STOPLIST | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
FULLTEXT STOPLIST | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
EINLOGGEN | ALTER | AL | SERVER | ALTER ANY LOGIN |
EINLOGGEN | CONTROL | CL | SERVER | Steuerungsserver |
EINLOGGEN | IMPERSONATE | IM | SERVER | Steuerungsserver |
EINLOGGEN | VIEW DEFINITION | VW | SERVER | Jede Definition ansehen |
NACHRICHTENTYP | ALTER | AL | DATABASE | ALTER ANY MESSAGE TYPE |
NACHRICHTENTYP | CONTROL | CL | DATABASE | CONTROL |
NACHRICHTENTYP | REFERENZEN | RF | DATABASE | REFERENZEN |
NACHRICHTENTYP | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
NACHRICHTENTYP | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
OBJECT | ALTER | AL | SCHEMA | ALTER |
OBJECT | CONTROL | CL | SCHEMA | CONTROL |
OBJECT | Löschen | DL | SCHEMA | Löschen |
OBJECT | AUSFÜHREN | EX | SCHEMA | AUSFÜHREN |
OBJECT | INSERT | IN | SCHEMA | INSERT |
OBJECT | RECEIVE | RC | SCHEMA | CONTROL |
OBJECT | REFERENZEN | RF | SCHEMA | REFERENZEN |
OBJECT | SELECT | SL | SCHEMA | SELECT |
OBJECT | VERANTWORTUNG ÜBERNEHMEN | TO | SCHEMA | CONTROL |
OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
OBJECT | Aktualisierung | UP | SCHEMA | Aktualisierung |
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 | VERANTWORTUNG ÜBERNEHMEN | 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 | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
ROLE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
ROUTE | ALTER | AL | DATABASE | ALTER ANY ROUTE |
ROUTE | CONTROL | CL | DATABASE | CONTROL |
ROUTE | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
ROUTE | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
SCHEMA | ALTER | AL | DATABASE | ALTER ANY SCHEMA |
SCHEMA | CONTROL | CL | DATABASE | CONTROL |
SCHEMA | SEQUENZ ERSTELLEN | CRSO | DATABASE | CONTROL |
SCHEMA | Löschen | DL | DATABASE | Löschen |
SCHEMA | AUSFÜHREN | EX | DATABASE | AUSFÜHREN |
SCHEMA | INSERT | IN | DATABASE | INSERT |
SCHEMA | REFERENZEN | RF | DATABASE | REFERENZEN |
SCHEMA | SELECT | SL | DATABASE | SELECT |
SCHEMA | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
SCHEMA | Aktualisierung | UP | DATABASE | Aktualisierung |
SCHEMA | VIEW CHANGE TRACKING | VWCT | DATABASE | VIEW CHANGE TRACKING |
SCHEMA | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
Immobilienliste durchsuchen | ALTER | AL | SERVER | ÄNDERN EINES VOLLSTÄNDIGEN TEXTKATALOGS |
Immobilienliste durchsuchen | CONTROL | CL | SERVER | CONTROL |
Immobilienliste durchsuchen | REFERENZEN | RF | SERVER | REFERENZEN |
Immobilienliste durchsuchen | VERANTWORTUNG ÜBERNEHMEN | TO | SERVER | CONTROL |
Immobilienliste durchsuchen | VIEW DEFINITION | VW | SERVER | VIEW DEFINITION |
SERVER | ADMINISTER BULK OPERATIONS | ADBO | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY AVAILABILITY GROUP | ALAG | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY CONNECTION | ALCO | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY CREDENTIAL | ALCD | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY DATABASE | ALDB | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY ENDPOINT | ALHE | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT NOTIFICATION | ALES | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION | AAES | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION ADD EVENT | LSAE | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION ADD TARGET | LSAT | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION DISABLE | DES | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION DROP TARGET | LSDT | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION ENABLE | EES | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY EVENT SESSION OPTION | LESO | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY LINKED SERVER | ALLS | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY LOGIN | ALLG | Nicht zutreffend | Nicht zutreffend |
SERVER | ÄNDERN EINER SERVERÜBERWACHUNG | ALAA | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER ANY SERVER ROLE | ALSR | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER RESOURCES | ALRS | Nicht zutreffend | Nicht zutreffend |
SERVER | SERVERSTATUS ÄNDERN | ALSS | Nicht zutreffend | Nicht zutreffend |
SERVER | Einstellungen ändern | ALST | Nicht zutreffend | Nicht zutreffend |
SERVER | ALTER TRACE | ALTR | Nicht zutreffend | Nicht zutreffend |
SERVER | AUTHENTIFIZIEREN DES SERVERS | AUTH | Nicht zutreffend | Nicht zutreffend |
SERVER | CONNECT ANY DATABASE | CADB | Nicht zutreffend | Nicht zutreffend |
SERVER | CONNECT SQL | COSQ | Nicht zutreffend | Nicht zutreffend |
SERVER | Steuerungsserver | CL | Nicht zutreffend | Nicht zutreffend |
SERVER | CREATE ANY DATABASE | CRDB | Nicht zutreffend | Nicht zutreffend |
SERVER | CREATE AVAILABILITY GROUP | CRAC | Nicht zutreffend | Nicht zutreffend |
SERVER | Ddl-Ereignisbenachrichtigung erstellen | CRDE | Nicht zutreffend | Nicht zutreffend |
SERVER | ENDPUNKT ERSTELLEN | CRHE | Nicht zutreffend | Nicht zutreffend |
SERVER | CREATE SERVER ROLE | CRSR | Nicht zutreffend | Nicht zutreffend |
SERVER | CREATE TRACE EVENT NOTIFICATION | CRTE | Nicht zutreffend | Nicht zutreffend |
SERVER | EXTERNAL ACCESS ASSEMBLY | XA | Nicht zutreffend | Nicht zutreffend |
SERVER | IMPERSONATE ANY LOGIN | IAL | Nicht zutreffend | Nicht zutreffend |
SERVER | SELECT ALL USER SECURABLES | SUS | Nicht zutreffend | Nicht zutreffend |
SERVER | SHUTDOWN | SHDN | Nicht zutreffend | Nicht zutreffend |
SERVER | UNSAFE ASSEMBLY | XU | Nicht zutreffend | Nicht zutreffend |
SERVER | Jede Datenbank anzeigen | VWDB | Nicht zutreffend | Nicht zutreffend |
SERVER | Jede Definition ansehen | VWAD | Nicht zutreffend | Nicht zutreffend |
SERVER | SERVERSTATUS ANZEIGEN | VWSS | Nicht zutreffend | Nicht zutreffend |
Serverrolle | ALTER | AL | SERVER | ALTER ANY SERVER ROLE |
Serverrolle | CONTROL | CL | SERVER | Steuerungsserver |
Serverrolle | VERANTWORTUNG ÜBERNEHMEN | TO | SERVER | Steuerungsserver |
Serverrolle | VIEW DEFINITION | VW | SERVER | Jede Definition ansehen |
Dienstleistung | ALTER | AL | DATABASE | ÄNDERE JEDEN DIENST |
Dienstleistung | CONTROL | CL | DATABASE | CONTROL |
Dienstleistung | SEND | SN | DATABASE | CONTROL |
Dienstleistung | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
Dienstleistung | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
symmetrischer Schlüssel | ALTER | AL | DATABASE | ÄNDERN EINES SYMMETRISCHEN SCHLÜSSELS |
symmetrischer Schlüssel | CONTROL | CL | DATABASE | CONTROL |
symmetrischer Schlüssel | REFERENZEN | RF | DATABASE | REFERENZEN |
symmetrischer Schlüssel | VERANTWORTUNG ÜBERNEHMEN | TO | DATABASE | CONTROL |
symmetrischer Schlüssel | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
TYPE | CONTROL | CL | SCHEMA | CONTROL |
TYPE | AUSFÜHREN | EX | SCHEMA | AUSFÜHREN |
TYPE | REFERENZEN | RF | SCHEMA | REFERENZEN |
TYPE | VERANTWORTUNG ÜBERNEHMEN | TO | SCHEMA | CONTROL |
TYPE | VIEW DEFINITION | VW | SCHEMA | VIEW DEFINITION |
USER | ALTER | AL | DATABASE | ALTER ANY USER |
USER | CONTROL | CL | DATABASE | CONTROL |
USER | IMPERSONATE | IM | DATABASE | CONTROL |
USER | VIEW DEFINITION | VW | DATABASE | VIEW DEFINITION |
XML-SCHEMA-SAMMLUNG | ALTER | AL | SCHEMA | ALTER |
XML-SCHEMA-SAMMLUNG | CONTROL | CL | SCHEMA | CONTROL |
XML-SCHEMA-SAMMLUNG | AUSFÜHREN | EX | SCHEMA | AUSFÜHREN |
XML-SCHEMA-SAMMLUNG | REFERENZEN | RF | SCHEMA | REFERENZEN |
XML-SCHEMA-SAMMLUNG | VERANTWORTUNG ÜBERNEHMEN | TO | SCHEMA | CONTROL |
XML-SCHEMA-SAMMLUNG | 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:
- ANZEIGEN EINER SICHERHEITSDEFINITION
- ANZEIGEN EINER BELIEBIGEN LEISTUNGSDEFINITION
- SICHERHEITSSTATUS DES SERVERS ANZEIGEN
- SERVERLEISTUNGSSTATUS ANZEIGEN
- ANZEIGEN EINER KRYPTOGRAFISCH GESICHERTEN DEFINITION
Datenbankebene:
- DATENBANKSICHERHEITSSTATUS ANZEIGEN
- DATENBANKLEISTUNGSSTATUS ANZEIGEN
- SICHERHEITSDEFINITION ANZEIGEN
- LEISTUNGSDEFINITION ANZEIGEN
- KRYPTOGRAFISCH GESICHERTE DEFINITION ANZEIGEN
Berechtigungen für erweiterte Ereignisse
Serverebene:
- CREATE ANY EVENT SESSION
- DROP ANY EVENT SESSION
- ALTER ANY 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
- ALTER ANY EVENT SESSION ADD TARGET
- ALTER ANY EVENT SESSION DROP TARGET
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY EVENT SESSION
Datenbankebene:
- CREATE ANY DATABASE EVENT SESSION
- DROP ANY DATABASE EVENT SESSION
- ALTER ANY DATABASE EVENT SESSION OPTION
- ALTER ANY DATABASE EVENT SESSION ADD EVENT
- ALTER ANY DATABASE EVENT SESSION DROP EVENT
- ALTER ANY DATABASE EVENT SESSION ENABLE
- ALTER ANY DATABASE EVENT SESSION DISABLE
- ALTER ANY DATABASE EVENT SESSION ADD TARGET
- ALTER ANY DATABASE EVENT SESSION DROP TARGET
Alle diese Berechtigungen unterliegen der gleichen übergeordneten Berechtigung: ALTER ANY DATABASE EVENT SESSION
Sicherheitsbezogene Objektberechtigungen
- CONTROL (CREDENTIAL)
- LOGIN ERSTELLEN
- BENUTZER ERSTELLEN
- REFERENCES (CREDENTIAL)
- UNMASK (OBJECT)
- UNMASK (SCHEMA)
- ANZEIGEN EINES FEHLERPROTOKOLLS
- VIEW SERVER SECURITY AUDIT
- DATENBANKSICHERHEITSÜBERWACHUNG ANZEIGEN
Ledger-Berechtigungen
- ALTER LEDGER
- ALTER LEDGER CONFIGURATION
- LEDGER AKTIVIEREN
- VIEW LEDGER CONTENT
Andere Berechtigungen für Datenbank
- ÄNDERN EINES EXTERNEN AUFTRAGS
- ALTER ANY EXTERNAL STREAM
- EXECUTE ANY EXTERNAL 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 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
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. 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 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.
Die Berechtigungsprüfung ist bestanden, wenn die erforderlichen Berechtigung nicht verweigert wurde, und die erforderlichen Berechtigung für eine der Identitäten im Sicherheitskontext eines beliebigen Objekts im Berechtigungsbereichdirekt oder implizit eine GRANT-Berechtigung oder GRANT WITH GRANT-Berechtigung enthält.
Spezielle Aspekte für Berechtigungen auf Spaltenebene
Berechtigungen auf Spaltenebene werden mit der Syntax <Tabellenname>(<Spaltenname>) erteilt. Zum 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 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 Yttrium
zurü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