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 Managed Instance
Analytics Platform System (PDW)
SQL Server stellt Rollen auf Serverebene bereit, um Sie beim Verwalten der Berechtigungen auf einem Server zu unterstützen. Bei diesen Rollen handelt es sich um Sicherheitsprinzipale, in denen andere Prinzipale gruppiert sind. Der Geltungsbereich der Berechtigungen von Rollen auf Serverebene erstreckt sich auf den gesamten Server. (Rollen entsprechen den Gruppen im Betriebssystem Windows.)
SQL Server 2019 (15.x) und frühere Versionen haben neun feste Serverrollen bereitgestellt. Man kann die Berechtigungen, die den festen Serverrollen gewährt wurden, nicht ändern (außer öffentlich). Ab SQL Server 2012 (11.x) können Sie benutzerdefinierte Serverrollen erstellen und diesen Berechtigungen auf Serverebene hinzufügen.
SQL Server 2022 (16.x) enthält 10 zusätzliche Serverrollen, die speziell mit dem Prinzip des minimalen Privilegs entwickelt wurden. Diese Rollen tragen das Präfix ##MS_ und das Suffix ##, was sie von regulären benutzerdefinierten Prinzipien und benutzerdefinierten Serverrollen unterscheidet. Diese neuen Rollen enthalten Berechtigungen, die auf Serverebene gelten, aber auch an einzelne Datenbanken vererbt werden können (mit Ausnahme der Serverrolle ##MS_LoginManager##).
Serverberechtigungen sind hierarchisch strukturiert, wie dies auch bei einer lokalen SQL Server-Instanz der Fall ist. Die Berechtigungen, über die diese Rollen auf Serverebene verfügen, können auf Datenbankberechtigungen übertragen werden. Damit die Berechtigungen auf Datenbankebene effektiv nützlich sind, muss eine Anmeldung entweder Mitglied der Rolle auf Serverebene ##MS_DatabaseConnector## sein (beginnend mit SQL Server 2022 (16.x)), die den CONNECT Berechtigungen für alle Datenbanken erteilt oder über ein Benutzerkonto in einzelnen Datenbanken verfügen. Diese Anforderung gilt auch für die Datenbank master .
Betrachten Sie das folgende Beispiel: Die Rolle auf Serverebene ##MS_ServerStateReader## hat die Berechtigung VIEW SERVER STATE. Eine Anmeldung, die Mitglied dieser Rolle ist, verfügt über ein Benutzerkonto in den datenbanken master und WideWorldImporters. Dieser Benutzer verfügt auch über die berechtigung VIEW DATABASE STATE in diesen beiden Datenbanken durch Vererbung.
Sie können Prinzipale auf Serverebene (SQL Server-Anmeldungen, Windows-Konten und Windows-Gruppen) zu Rollen auf Serverebene zusammenfassen. Jedes Mitglied einer festen Serverrolle kann der gleichen Rolle andere Logins hinzufügen. Mitglieder benutzerdefinierter Serverrollen können der Rolle keine weiteren Serverprinzipale hinzufügen.
Feste Rollen auf Serverebene
Hinweis
Diese Rollen wurden vor SQL Server 2022 (16.x) eingeführt und sind in Azure SQL-Datenbank oder Azure Synapse Analytics nicht verfügbar. Azure SQL-Datenbank hat eigene Server-Rollen, die den in SQL Server 2022 (16.x) eingeführten Rollen entsprechen. Weitere Informationen finden Sie unter Azure SQL-Datenbank-Serverrollen für die Berechtigungsverwaltung und Autorisieren des Datenbankzugriffs auf SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics.
In der folgenden Tabelle werden die festen Rollen auf Serverebene und deren Möglichkeiten angezeigt.
| Feste Rolle auf Serverebene | Beschreibung |
|---|---|
| sysadmin | Mitglieder der festen Serverrolle sysadmin können alle Aktivitäten auf dem Server ausführen. Wichtig: Berechtigungen können mitgliedern dieser Rolle nicht verweigert werden. |
| serveradmin | Mitglieder der festen Serverrolle serveradmin können serverweite Konfigurationsoptionen ändern und den Server herunterfahren. |
| securityadmin | Mitglieder der festen Serverrolle securityadmin können Anmeldungen und deren Eigenschaften verwalten. Sie können Berechtigungen auf Serverebene erteilen (GRANT), verweigern (DENY) und widerrufen (REVOKE). Sie können auch GRANT, DENY und REVOKE Berechtigungen auf Datenbankebene nutzen, wenn Sie Zugriff auf eine Datenbank haben. Darüber hinaus können sie Kennwörter für SQL Server-Anmeldungen zurücksetzen.WICHTIG: Durch die Möglichkeit, Zugriff auf die Datenbank-Engine zu gewähren und Benutzerberechtigungen zu konfigurieren, kann der Sicherheitsadministrator die meisten Serverberechtigungen zuweisen. Behandle die Rolle des Sicherheitsadministrators gleichwertig mit der Systemadministratorrolle . Als Alternative sollten Sie ab SQL Server 2022 (16.x) die neue feste Serverrolle ##MS_LoginManager## verwenden. |
| processadmin | Mitglieder der festen Serverrolle processadmin können Prozesse beenden, die in einer Instanz von SQL Server ausgeführt werden. |
| setupadmin | Mitglieder der festen Serverrolle setupadmin können Verbindungsserver mithilfe von Transact–SQL-Anweisungen hinzufügen und entfernen. (Die Verwendung von Management Studio erfordert die Mitgliedschaft in sysadmin.) |
| bulkadmin | Mitglieder der festen Serverrolle bulkadmin können die BULK INSERT-Anweisung ausführen. Mitglieder dieser Rolle können ihre Berechtigungen unter bestimmten Bedingungen potenziell erhöhen. Wenden Sie das Prinzip der geringstmöglichen Berechtigung an, wenn Sie diese Rolle zuweisen, und überwachen Sie alle Aktivitäten, die von ihren Mitgliedern ausgeführt werden. Die Bulkadmin-Rolle oder ADMINISTER BULK OPERATIONS -Berechtigungen werden für SQL Server unter Linux nicht unterstützt.Massenoperationen ( BULK INSERTAnweisungen) werden für Logins mit Microsoft Entra-Authentifizierung weder unter Linux noch unter Windows unterstützt. In diesem Szenario können nur Mitglieder der Sysadmin-Rolle Masseneinfügungen für SQL Server ausführen. |
| diskadmin | Mitglieder der festen Serverrolle diskadmin können Datenträgerdateien verwalten. |
| dbcreator | Mitglieder der festen Serverrolle dbcreator können beliebige Datenbanken erstellen, ändern, löschen und wiederherstellen. |
| public | Jede SQL Server-Anmeldung gehört der Serverrolle public an. Werden einem Serverprinzipal keine bestimmten Berechtigungen für ein sicherungsfähiges Objekt erteilt oder verweigert, erbt der Benutzer die Berechtigungen, die der Rolle public für dieses Objekt erteilt wurden. Weisen Sie nur öffentlichen Berechtigungen für jedes Objekt zu, wenn das Objekt für alle Benutzer verfügbar sein soll. Sie können keine Mitgliedschaft in public ändern. Hinweis:Public funktioniert anders als die anderen Rollen. Du kannst Berechtigungen für die öffentliche Fixed-Server-Rolle gewähren, verweigern oder widerrufen. |
Wichtig
Die meisten Berechtigungen, die von den folgenden Serverrollen bereitgestellt werden, gelten nicht für Azure Synapse Analytics: Processadmin, Serveradmin, SetupAdmin und Diskadmin.
In SQL Server 2022 eingeführte feste Rollen auf Serverebene
Die folgende Tabelle enthält feste Rollen auf Serverebene, die in SQL Server 2022 (16.x) und deren Funktionen eingeführt wurden.
Hinweis
Azure SQL-Datenbank und Azure SQL Managed Instance unterstützen diese Rollen. Azure Synapse Analytics tut das nicht.
Um zu sehen, welche Rollen ein Server hat, fragen Sie sys.server_principals nach Zeilen ab, bei denen type_descSERVER_ROLE ist.
| Feste Rolle auf Serverebene | Beschreibung |
|---|---|
##MS_DatabaseConnector## |
Mitglieder der festen Serverrolle ##MS_DatabaseConnector## können eine Verbindung zu jeder Datenbank herstellen, ohne ein Benutzerkonto in der Datenbank zu benötigen.Um die CONNECT-Berechtigung für eine bestimmte Datenbank zu verweigern, können Benutzer*innen ein entsprechendes Benutzerkonto für diese Anmeldung in der Datenbank erstellen und dann die DENY-Berechtigung für den Datenbankbenutzer mit CONNECT überschreiben. Diese DENY-Berechtigung hebt die GRANT CONNECT-Berechtigung dieser Rolle auf. |
##MS_LoginManager## |
Mitglieder der ##MS_LoginManager## festen Serverrolle können Anmeldeinformationen erstellen, löschen und ändern. Im Gegensatz zur alten festen Serverrolle securityadmin erlaubt diese Rolle Mitgliedern keine GRANT-Rechte. Es ist eine eingeschränktere Rolle, die dazu beiträgt, das Prinzip der geringsten Rechte einzuhalten. |
##MS_DatabaseManager## |
Mitglieder der ##MS_DatabaseManager## festen Serverrolle können Datenbanken erstellen und Datenbanken löschen, die sie besitzen. Ein Mitglied der rolle ##MS_DatabaseManager##, die eine Datenbank erstellt, wird der Besitzer dieser Datenbank, wodurch dieser Benutzer eine Verbindung mit dieser Datenbank als dbo Benutzer herstellen kann. Der*Die dbo-Benutzer*in verfügt über alle Datenbankberechtigungen in der Datenbank. Mitglieder dieser Rolle können ihre Berechtigungen unter bestimmten Bedingungen potenziell erhöhen. Wenden Sie das Prinzip der geringstmöglichen Berechtigung an, wenn Sie diese Rolle zuweisen, und überwachen Sie alle Aktivitäten, die von ihren Mitgliedern ausgeführt werden. Verwenden Sie in Azure SQL-Datenbank diese Serverrolle anstelle der festen Datenbankrolle dbmanager, die in mastervorhanden ist. |
##MS_ServerStateManager## |
Mitglieder der ##MS_ServerStateManager## festen Serverrolle verfügen über die gleichen Berechtigungen wie die ##MS_ServerStateReader## Rolle. Die Rolle enthält außerdem die BerechtigungALTER SERVER STATE, die Zugriff auf mehrere Verwaltungsoperationen ermöglicht, wie zum Beispiel: DBCC FREEPROCCACHE, DBCC FREESYSTEMCACHE ('ALL'), . DBCC SQLPERF() |
##MS_ServerStateReader## |
Mitglieder der ##MS_ServerStateReader## festen Serverrolle können alle dynamischen Verwaltungsansichten (DMVs) und Funktionen lesen, die von VIEW SERVER STATE abgedeckt werden. Mitglieder haben VIEW DATABASE STATE auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. |
##MS_ServerPerformanceStateReader## |
Mitglieder der ##MS_ServerPerformanceStateReader## festen Serverrolle können alle dynamischen Verwaltungsansichten (DMVs) und Funktionen einsehen, die unter VIEW SERVER PERFORMANCE STATE fallen. Mitglieder haben VIEW DATABASE PERFORMANCE STATE auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. Diese Rolle ist eine Teilmenge von ##MS_ServerStateReader##, was dazu beiträgt, das Prinzip der geringsten Privilegien zu erfüllen. |
##MS_ServerSecurityStateReader## |
Mitglieder der festen Serverrolle ##MS_ServerSecurityStateReader## können alle dynamischen Verwaltungsansichten (DMVs) und Funktionen lesen, die durch VIEW SERVER SECURITY STATE abgedeckt werden. Mitglieder haben VIEW DATABASE SECURITY STATE auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. Diese Rolle ist eine kleine Teilmenge von ##MS_ServerStateReader##, was dazu beiträgt, das Prinzip der geringsten Privilegien zu erfüllen. |
##MS_DefinitionReader## |
Mitglieder der ##MS_DefinitionReader## festen Serverrolle können alle Katalogsichten lesen, die von VIEW ANY DEFINITION erfasst werden. Mitglieder haben VIEW DEFINITION auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. |
##MS_PerformanceDefinitionReader## |
Mitglieder der ##MS_PerformanceDefinitionReader## festen Serverrolle können alle Katalogansichten lesen, die unter VIEW ANY PERFORMANCE DEFINITION fallen. Mitglieder haben VIEW PERFORMANCE DEFINITION auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. Diese Rolle ist eine Teilmenge von ##MS_DefinitionReader##. |
##MS_SecurityDefinitionReader## |
Mitglieder der ##MS_SecurityDefinitionReader## festen Serverrolle können alle Katalogansichten lesen, die unter VIEW ANY SECURITY DEFINITION fallen. Mitglieder haben VIEW SECURITY DEFINITION auch Berechtigungen für jede Datenbank, in der sie ein Benutzerkonto haben. Diese Rolle ist eine kleine Teilmenge von ##MS_DefinitionReader##, was dazu beiträgt, das Prinzip der geringsten Privilegien zu erfüllen. |
Berechtigungen für feste Serverrollen
Jede feste Serverrolle besitzt bestimmte Berechtigungen.
Berechtigungen neuer fester Serverrollen in SQL Server 2022
In der folgenden Tabelle sind die Berechtigungen angegeben, die den Rollen auf Serverebene zugewiesen sind. Außerdem werden Berechtigungen auf Datenbankebene angezeigt, die geerbt werden, solange der Benutzer eine Verbindung mit einzelnen Datenbanken herstellen kann.
| Feste Rolle auf Serverebene | Berechtigungen auf Serverebene | Berechtigungen auf Datenbankebene |
|---|---|---|
##MS_DatabaseConnector## |
- CONNECT ANY DATABASE |
- CONNECT |
##MS_LoginManager## |
- CREATE LOGIN- ALTER ANY LOGIN |
N/V |
##MS_DatabaseManager## |
- CREATE ANY DATABASE- ALTER ANY DATABASE |
- ALTER |
##MS_ServerStateManager## |
- ALTER SERVER STATE- VIEW SERVER STATE- VIEW SERVER PERFORMANCE STATE- VIEW SERVER SECURITY STATE |
- VIEW DATABASE STATE- VIEW DATABASE PERFORMANCE STATE- VIEW DATABASE SECURITY STATE |
##MS_ServerStateReader## |
- VIEW SERVER STATE- VIEW SERVER PERFORMANCE STATE- VIEW SERVER SECURITY STATE |
- VIEW DATABASE STATE- VIEW DATABASE PERFORMANCE STATE- VIEW DATABASE SECURITY STATE |
##MS_ServerPerformanceStateReader## |
- VIEW SERVER PERFORMANCE STATE |
- VIEW DATABASE PERFORMANCE STATE |
##MS_ServerSecurityStateReader## |
- VIEW SERVER SECURITY STATE |
- VIEW DATABASE SECURITY STATE |
##MS_DefinitionReader## |
- VIEW ANY DATABASE- VIEW ANY DEFINITION- VIEW ANY PERFORMANCE DEFINITION- VIEW ANY SECURITY DEFINITION |
- VIEW DEFINITION- VIEW PERFORMANCE DEFINITION- VIEW SECURITY DEFINITION |
##MS_PerformanceDefinitionReader## |
- VIEW ANY PERFORMANCE DEFINITION |
- VIEW PERFORMANCE DEFINITION |
##MS_SecurityDefinitionReader## |
- VIEW ANY SECURITY DEFINITION |
- VIEW SECURITY DEFINITION |
Berechtigungen von Serverrollen für SQL Server 2019 und früher
Die folgende Abbildung zeigt die Berechtigungen, die den älteren Serverrollen (SQL Server 2019 (15.x) und früheren Versionen zugewiesen sind.
Die Berechtigung CONTROL SERVER ist ähnlich, aber nicht identisch mit der festen Serverrolle sysadmin. Prinzipale mit der CONTROL SERVER-Berechtigung kann man bestimmte Berechtigungen verweigern. Berücksichtigen Sie aus Sicherheitsperspektive Prinzipale mit CONTROL SERVER als identisch mit Sysadmin-Mitgliedern, da es mehrere Möglichkeiten gibt, Berechtigungen von CONTROL SERVER auf vollständigen Sysadmin zu erhöhen. Mehrere DBCC Befehle und viele Systemprozeduren erfordern die Mitgliedschaft in der festen Serverrolle sysadmin.
Berechtigungen auf Serverebene
Benutzerdefinierten Serverrollen können nur Berechtigungen auf Serverebene hinzugefügt werden. Führen Sie zum Auflisten der Berechtigungen auf Serverebene die folgende Anweisung aus. Folgende Berechtigungen gelten auf Serverebene:
SELECT *
FROM sys.fn_builtin_permissions('SERVER')
ORDER BY permission_name;
Weitere Informationen zu Berechtigungen finden Sie unter Berechtigungen (Datenbank-Engine) und sys.fn_builtin_permissions.
Arbeiten Sie mit Rollen auf Serverebene
In der folgenden Tabelle werden die Befehle, Sichten und Funktionen erklärt, die Sie beim Arbeiten mit Rollen auf Serverebene verwenden können.
| Funktion | Typ | Beschreibung |
|---|---|---|
| sp_helpsrvrole | Metadaten | Gibt eine Liste von Rollen auf Serverebene zurück. |
| sp_helpsrvrolemember | Metadaten | Gibt Informationen zu Mitgliedern einer Rolle auf Serverebene zurück. |
| sp_srvrolepermission | Metadaten | Zeigt die Berechtigungen einer Rolle auf Serverebene an. |
| IS_SRVROLEMEMBER | Metadaten | Gibt an, ob eine SQL Server-Anmeldung Mitglied der angegebenen Serverrolle ist. |
| sys.server_role_members | Metadaten | Gibt eine Zeile für jedes Mitglied jeder Rolle auf Serverebene zurück. |
| CREATE SERVER ROLE | Befehl | Erstellt eine benutzerdefinierte Serverrolle. |
| ALTER SERVER ROLE | Befehl | Ändert die Mitgliedschaft einer Serverrolle oder ändert Namen einer benutzerdefinierten Serverrolle. |
| DROP SERVER ROLE | Befehl | Entfernt eine benutzerdefinierte Serverrolle. |
| sp_addsrvrolemember | Befehl | Fügt eine Anmeldung als Mitglied einer Rolle auf Serverebene hinzu. Veraltet. Verwenden Sie stattdessen ALTER SERVER ROLE. |
| sp_dropsrvrolemember | Befehl | Entfernt einen SQL Server-Anmeldenamen oder einen Windows-Benutzer bzw. eine -Gruppe aus einer Rolle auf Serverebene. Veraltet. Verwenden Sie stattdessen ALTER SERVER ROLE. |
Rollen, die für SQL Server spezifisch sind, die von Azure Arc aktiviert sind
Wenn Sie die Azure-Erweiterung für SQL Server im nicht-mindestens-privilegierten Modus installieren, wird die Installation:
- Erstellt eine Rolle auf Serverebene:
SQLArcExtensionServerRole - Erstellt eine Rolle auf Datenbankebene:
SQLArcExtensionUserRole - Fügt das
NT AUTHORITY\SYSTEMKonto zu jeder Rolle hinzu. - Karten
NT AUTHORITY\SYSTEMauf Datenbankebene für jede Datenbank - Gewährt Mindestberechtigungen für die aktivierten Features.
Alternativ können Sie SQL Server, der durch Azure Arc aktiviert ist, so konfigurieren, dass er im Modus mit den geringsten Berechtigungen ausgeführt wird. Weitere Informationen finden Sie unter Operate SQL Server aktiviert durch Azure Arc mit geringsten Berechtigungen.
Darüber hinaus widerruft die Azure-Erweiterung für SQL Server Berechtigungen für diese Rollen, wenn sie für bestimmte Funktionen nicht mehr benötigt werden.
Hinweis
Für die zuvor beschriebenen Aktionen muss der Deployer eine Verbindung mit SQL Server als NT AUTHORITY\SYSTEM herstellen. Wenn die NT AUTHORITY\SYSTEM-Anmeldung entfernt, deaktiviert oder CONNECT SQL-Berechtigungen verweigert werden, kann der Bereitsteller keine dieser Aktionen ausführen, und die Azure-Erweiterung für SQL Server kann nicht bereitgestellt werden. Die Erforderlichen Schritte zum Überprüfen und Wiederherstellen dieser Anmeldung finden Sie unter "Voraussetzungen ".
SqlServerExtensionPermissionProvider ist eine Windows-Aufgabe. Sie führt Deployer.exe aus, um Berechtigungen in SQL Server zu gewähren oder zu widerrufen, wenn folgendes erkannt wird:
- Eine neue SQL Server-Instanz wird auf dem Host installiert.
- Eine SQL Server Instanz wird vom Host deinstalliert.
- Ein Feature auf Instanzebene ist aktiviert oder deaktiviert, oder Die Einstellungen werden aktualisiert.
- Der Erweiterungsdienst wird neu gestartet.
- Just-in-Time-Berechtigungen (Just-in-Time, JIT) sind aktiviert oder deaktiviert.
Hinweis
Vor der Veröffentlichung im Juli 2024 war SqlServerExtensionPermissionProvider eine geplante Aufgabe, die stündlich ausgeführt wurde.
Unter Konfigurieren von Windows-Dienstkonten und Berechtigungen für die Azure-Erweiterung für SQL Server finden Sie ausführliche Informationen.
Wenn Sie Azure Erweiterung für SQL Server deinstallieren, werden die Rollen auf Serverebene und Datenbankebene entfernt.
Überprüfen Sie Berechtigungen.
Zugehöriger Inhalt
- Rollen auf Datenbankebene
- Sicherheitskatalogsichten (Transact-SQL)
- Sicherheitsfunktionen (Transact-SQL)
- Sichern von SQL Server
- GRANT Serverprinzipalberechtigungen (Transact-SQL)
- REVOKE Serverprinzipalberechtigungen (Transact-SQL)
- DENY Serverprinzipalberechtigungen (Transact-SQL)
- Erstellen einer Serverrolle
- Azure SQL-Datenbank-Serverrollen für die Berechtigungsverwaltung