Rollen auf Serverebene

Gilt für:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

SQL Server stellt Rollen auf Serverebene bereit, mit denen Sie die Berechtigungen auf einem Server verwalten können. 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 und frühere Versionen stellten neun feste Serverrollen bereit. Die Berechtigungen, die den festen Serverrollen (mit Ausnahme öffentlicher) gewährt werden, können nicht geändert werden. Ab SQL Server 2012 (11.x) können Sie benutzerdefinierte Serverrollen erstellen und den benutzerdefinierten Serverrollen Berechtigungen auf Serverebene hinzufügen. SQL Server 2022 (16.x) enthält 10 zusätzliche Serverrollen, die speziell für das Prinzip der geringsten Rechte entwickelt wurden, die das Präfix ##MS_ und das Suffix ## aufweisen, um sie von anderen regulären, vom Benutzer erstellten Prinzipale und benutzerdefinierten Serverrollen zu unterscheiden. Diese neuen Rollen enthalten Berechtigungen, die im Serverbereich gelten, aber auch bis auf einzelne Datenbanken erben 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_DatabaseVerbinden or## (ab SQL Server 2022 (16.x)) sein, die die CONNECT-Berechtigung für alle Datenbanken gewährt oder über ein Benutzerkonto in einzelnen Datenbanken verfügen. Dies gilt auch für die master Datenbank. Betrachten Sie das folgende Beispiel: Die Rolle auf Serverebene ##MS_ServerStateReader## enthält 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 dann 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 hinzufügen. Jedes Mitglied einer festen Serverrolle kann der gleichen Rolle andere Anmeldenamen hinzufügen. Mitglieder von benutzerdefinierten Serverrollen können der Rolle keine anderen Serverprinzipale hinzufügen.

Feste Rollen auf Serverebene

Hinweis

Diese vor SQL Server 2022 (16.x) eingeführten Rollen auf Serverebene sind in Azure SQL-Datenbank oder Azure Synapse Analytics nicht verfügbar. Es gibt spezielle Azure SQL-Datenbank Serverrollen für die Berechtigungsverwaltung, die den in SQL Server 2022 (16.x) eingeführten Rollen auf Serverebene entsprechen. Weitere Informationen zu SQL-Datenbank finden Sie unter Steuern und Gewähren des Datenbankzugriffs.

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.
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 verfügen auf Datenbankebene auch über die Berechtigungen GRANT, DENY und REVOKE, sofern sie Zugriff auf eine Datenbank haben. Darüber hinaus können sie Kennwörter für SQL Server-Anmeldungen zurücksetzen.

WICHTIG: Die Möglichkeit, zugriff auf die Datenbank-Engine zu gewähren und Benutzerberechtigungen zu konfigurieren, ermöglicht es dem Sicherheitsadministrator, die meisten Serverberechtigungen zuzuweisen. Die Rolle securityadmin muss als Entsprechung der Rolle sysadmin behandelt werden. Als Alternative sollten Sie ab SQL Server 2022 (16.x) die neue Feste Serverrolle ##MS_LoginManager## verwenden.
processadmin Member der prozessadmin fixed server role can end processes that are running in an instance of SQL Server.
setupadmin Mitglieder der festen Serverrolle "setupadmin " können verknüpfte Server mithilfe von Transact-SQL-Anweisungen hinzufügen und entfernen. (sysadmin-Mitgliedschaft ist bei Verwendung von Management Studio erforderlich.)
bulkadmin Mitglieder der festen Serverrolle bulkadmin können die BULK INSERT-Anweisung ausführen.

Die Berechtigungen "Bulkadmin" oder "BULK OPERATIONS" werden für SQL Server für Linux nicht unterstützt. Nur der sysadmin kann Masseneinfügungen in SQL Server für Linux durchführen.
diskadmin Die feste Serverrolle diskadmin wird zum Verwalten von Datenträgerdateien verwendet.
dbcreator Mitglieder der festen Serverrolle dbcreator können beliebige Datenbanken erstellen, ändern, löschen und wiederherstellen.
public Jede SQL Server-Anmeldung gehört zur öffentlichen Serverrolle. Wenn einem Serverprinzipal keine bestimmten Berechtigungen für ein sicherungsfähiges Objekt erteilt oder verweigert wurden, erbt der Benutzer die Berechtigungen, die für dieses Objekt öffentlich erteilt wurden. Weisen Sie einem Objekt nur dann public-Berechtigungen zu, wenn das Objekt für alle Benutzer verfügbar sein soll. Sie können die Mitgliedschaft in der öffentlichkeit nicht ändern.

Hinweis:Public wird anders implementiert als andere Rollen, und Berechtigungen können der öffentlichen festen Serverrolle gewährt, ihr verweigert oder für sie widerrufen werden.

Wichtig

Die meisten berechtigungen, die von den folgenden Serverrollen bereitgestellt werden, gelten nicht für Azure Synapse Analytics – processadmin, serveradmin, setupadmin und diskadmin.

Feste Rollen auf Serverebene, die in SQL Server 2022 eingeführt wurden

Die folgende Tabelle enthält zusätzliche Rollen auf Serverebene, die mit SQL Server 2022 (16.x) und ihren Funktionen eingeführt werden.

Hinweis

Diese Berechtigungen auf Serverebene sind für Azure SQL verwaltete Instanz oder Azure Synapse Analytics nicht verfügbar. ##MS_PerformanceDefinitionReader##, ##MS_ServerPerformanceStateReader## und ##MS_ServerSecurityStateReader## wird in SQL Server 2022 (16.x) eingeführt und sind in Azure SQL-Datenbank nicht verfügbar.

Feste Rolle auf Serverebene Beschreibung
##MS_DatabaseConnector## Mitglieder der festen Serverrolle ##MS_DatabaseConnector## können sich mit jeder Datenbank verbinden, ohne dass dafür ein Benutzerkonto in der Datenbank erforderlich ist.

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 CONNECT-Berechtigung für den*die Datenbankbenutzer*in mit DENY überschreiben. Diese DENY-Berechtigung hebt die GRANT CONNECT-Berechtigung dieser Rolle auf.
##MS_LoginManager## Mitglieder der Festen Serverrolle ##MS_LoginManager## können Anmeldeinformationen erstellen, löschen und ändern. Im Gegensatz zum alten Sicherheitsadministrator für feste Serverrollen erlaubt GRANT diese Rolle mitgliedern keine Berechtigungen. Es ist eine eingeschränktere Rolle, die dazu beiträgt, das Prinzip der geringsten Rechte einzuhalten.
##MS_DatabaseManager## Mitglieder der festen Serverrolle ##MS_DatabaseManager## können Datenbanken erstellen und löschen. Ein Mitglied der Rolle ##MS_DatabaseManager##, das eine Datenbank erstellt, wird zum Besitzer bzw. der Besitzerin der betreffenden Datenbank. Diese*r Benutzer*in kann dann als dbo-Benutzer*in eine Verbindung mit der Datenbank herstellen. Der*Die dbo-Benutzer*in verfügt über alle Datenbankberechtigungen in der Datenbank. Mitglieder der Rolle ##MS_DatabaseManager## verfügen nicht zwangsweise über die Berechtigung für den Zugriff auf Datenbanken, die sie nicht besitzen. Diese Serverrolle verfügt über die gleichen Berechtigungen wie die Dbcreatorrolle in SQL Server, aber wir empfehlen, diese neue Rolle über das frühere Element zu verwenden, da diese Rolle auch in Azure SQL-Datenbank vorhanden ist und somit bei der Verwendung der gleichen Skripts in verschiedenen Umgebungen hilft.
##MS_ServerStateManager## Mitglieder der festen Serverrolle ##MS_ServerStateManager## verfügen über die gleichen Berechtigungen, die für die Rolle ##MS_ServerStateReader## gelten. Außerdem enthält sie die ALTER SERVER STATE-Berechtigung, die den Zugriff auf mehrere Verwaltungsvorgänge ermöglicht, z. B.: DBCC FREEPROCCACHE, , DBCC FREESYSTEMCACHE ('ALL')DBCC SQLPERF()
##MS_ServerStateReader## Mitglieder der Festen Serverrolle ##MS_ServerStateReader## können alle dynamischen Verwaltungsansichten (DYNAMIC Management Views, DMVs) und Funktionen lesen, die von VIEW SERVER STATE abgedeckt sind, bzw. über die BERECHTIGUNG "DATENBANKSTATUS ANZEIGEN" für jede Datenbank verfügen, für die das Mitglied dieser Rolle über ein Benutzerkonto verfügt.
##MS_ServerPerformanceStateReader## Mitglieder der Festen Serverrolle ##MS_ServerPerformanceStateReader## können alle dynamischen Verwaltungsansichten (DMVs) und Funktionen lesen, die von VIEW SERVER PERFORMANCE STATE abgedeckt sind, bzw. über die BERECHTIGUNG "DATENBANKLEISTUNGSSTATUS ANZEIGEN" für jede Datenbank verfügen, für die das Mitglied dieser Rolle über ein Benutzerkonto verfügt. Dies ist eine Teilmenge dessen, was die ##MS_ServerStateReader###-Serverrolle hat, auf die das Prinzip der geringsten Rechte eingehalten werden kann.
##MS_ServerSecurityStateReader## Mitglieder der Festen Serverrolle ##MS_ServerSecurityStateReader## können alle dynamischen Verwaltungsansichten (DMVs) und Funktionen lesen, die von VIEW SERVER SECURITY STATE abgedeckt sind, bzw. über die BERECHTIGUNG "DATABASE SECURITY STATE " für jede Datenbank verfügen, für die das Mitglied dieser Rolle über ein Benutzerkonto verfügt. Dies ist eine kleine Teilmenge dessen, auf was die Serverrolle ##MS_ServerStateReader## Zugriff hat, was dazu beiträgt, das Prinzip der geringsten Rechte einzuhalten.
##MS_DefinitionReader## Mitglieder der Festen Serverrolle ##MS_DefinitionReader## können alle Katalogansichten lesen, die von VIEW ANY DEFINITION abgedeckt sind, bzw. über DIE VIEW DEFINITION-Berechtigung für jede Datenbank verfügt, für die das Mitglied dieser Rolle über ein Benutzerkonto verfügt.
##MS_PerformanceDefinitionReader## Mitglieder der Festen Serverrolle ##MS_PerformanceDefinitionReader## können alle Katalogansichten lesen, die von VIEW ANY PERFORMANCE DEFINITION abgedeckt sind, bzw. über die BERECHTIGUNG "PERFORMANCE DEFINITION ANZEIGEN" für jede Datenbank verfügen, für die das Mitglied dieser Rolle über ein Benutzerkonto verfügt. Dies ist eine Teilmenge der Elemente, auf die die Serverrolle ##MS_DefinitionReader## Zugriff hat.
##MS_SecurityDefinitionReader## Mitglieder der festen Serverrolle ##MS_SecurityDefinitionReader## können alle Katalogsichten lesen, die von VIEW ANY SECURITY DEFINITION abgedeckt werden, und haben die Berechtigung VIEW SECURITY DEFINITION auf jeder Datenbank, auf der das Mitglied dieser Rolle ein Benutzerkonto hat. Dies ist eine kleine Teilmenge dessen, was die Serverrolle ##MS_DefinitionReader## zugriff hat, auf die das Prinzip der geringsten Rechte eingehalten werden kann.

Berechtigungen von festen 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 die 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
SERVERLEISTUNGSSTATUS ANZEIGEN
SICHERHEITSSTATUS DES SERVERS ANZEIGEN
VIEW DATABASE STATE
DATENBANKLEISTUNGSSTATUS ANZEIGEN
DATENBANKSICHERHEITSSTATUS ANZEIGEN
##MS_ServerStateReader## VIEW SERVER STATE
SERVERLEISTUNGSSTATUS ANZEIGEN
SICHERHEITSSTATUS DES SERVERS ANZEIGEN
VIEW DATABASE STATE
DATENBANKLEISTUNGSSTATUS ANZEIGEN
DATENBANKSICHERHEITSSTATUS ANZEIGEN
##MS_ServerPerformanceStateReader## SERVERLEISTUNGSSTATUS ANZEIGEN DATENBANKLEISTUNGSSTATUS ANZEIGEN
##MS_ServerSecurityStateReader## SICHERHEITSSTATUS DES SERVERS ANZEIGEN DATENBANKSICHERHEITSSTATUS ANZEIGEN
##MS_DefinitionReader## VIEW ANY DATABASE
VIEW ANY DEFINITION
ANZEIGEN EINER BELIEBIGEN LEISTUNGSDEFINITION
VIEW ANY SECURITY DEFINITION
VIEW DEFINITION
LEISTUNGSDEFINITION ANZEIGEN
VIEW SECURITY DEFINITION
##MS_PerformanceDefinitionReader## ANZEIGEN EINER BELIEBIGEN LEISTUNGSDEFINITION LEISTUNGSDEFINITION ANZEIGEN
##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 und früheren Versionen) zugewiesen sind.
Diagram showing fixed server role permissions.

Wichtig

Die Berechtigung CONTROL SERVER ist ähnlich, aber nicht identisch mit der festen Serverrolle sysadmin . Berechtigungen umfassen keine Rollenmitgliedschaften, und Rollenmitgliedschaften gewähren keine Berechtigungen. (z.B. CONTROL SERVER impliziert nicht die Mitgliedschaft in der Sysadmin-Serverrolle mit fester Serverfunktion.) Es ist jedoch manchmal möglich, sich zwischen Rollen und gleichwertigen Berechtigungen zu imitieren. Die meisten 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 (Transact-SQL).For more information about permissions, see Permissions (Datenbank-Engine) and sys.fn_builtin_permissions (Transact-SQL).

Verwenden Sie 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 type Beschreibung
sp_helpsrvrole (Transact-SQL) Metadaten Gibt eine Liste von Rollen auf Serverebene zurück.
sp_helpsrvrolemember (Transact-SQL) Metadaten Gibt Informationen zu Mitgliedern einer Rolle auf Serverebene zurück.
sp_srvrolepermission (Transact-SQL) Metadaten Zeigt die Berechtigungen einer Rolle auf Serverebene an.
IS_SRVROLEMEMBER (Transact-SQL) Metadaten Gibt an, ob eine SQL Server-Anmeldung ein Mitglied der angegebenen Rolle auf Serverebene ist.
sys.server_role_members (Transact-SQL) Metadaten Gibt eine Zeile für jedes Mitglied jeder Rolle auf Serverebene zurück.
CREATE SERVER ROLE (Transact-SQL) Get-Help Erstellt eine benutzerdefinierte Serverrolle.
ALTER SERVER ROLE (Transact-SQL) Get-Help Ändert die Mitgliedschaft einer Serverrolle oder ändert Namen einer benutzerdefinierten Serverrolle.
DROP SERVER ROLE (Transact-SQL) Get-Help Entfernt eine benutzerdefinierte Serverrolle.
sp_addsrvrolemember (Transact-SQL) Get-Help Fügt einen Benutzernamen als Mitglied einer Rolle auf Serverebene hinzu. Veraltet. Verwenden Sie stattdessen ALTER SERVER ROLE .
sp_dropsrvrolemember (Transact-SQL) Get-Help Entfernt eine SQL Server-Anmeldung oder einen Windows-Benutzer oder eine Windows-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 installieren, wird folgendes installiert:

  1. Erstellt eine Serverebenenrolle: SQLArcExtensionServerRole
  2. Erstellt eine Rolle auf Datenbankebene: SQLArcExtensionUserRole
  3. Fügt jeder Rolle NT AUTHORITY\SYSTEM-Konto hinzu.
  4. Karten NT AUTHORITY\SYSTEM auf Datenbankebene für jede Datenbank
  5. Gewährt Mindestberechtigungen für die aktivierten Features

Darüber hinaus widerruft die Azure-Erweiterung für SQL Server Berechtigungen für diese Rollen, wenn sie für bestimmte Features nicht mehr benötigt werden.

Wenn Sie die Azure-Erweiterung für SQL Server deinstallieren, werden die Rollen auf Server- und Datenbankebene entfernt.

Überprüfen Sie berechtigungen für Berechtigungen.