Rollen auf Datenbankebene

Zur einfachen Verwaltung der Berechtigungen für Ihre Datenbanken stellt SQL Server mehrere Rollen zur Verfügung. Dies sind Sicherheitsprinzipale, die andere Prinzipale gruppieren. Sie entsprechen den Gruppen im Microsoft Windows-Betriebssystem. Der Geltungsbereich der Berechtigungen von Rollen auf Datenbankebene erstreckt sich auf die gesamte Datenbank. 

Es gibt in SQL Server zwei Typen von Rollen auf Datenbankebene: feste Datenbankrollen, die in der Datenbank vordefiniert sind, und flexible Datenbankrollen, die Sie erstellen können.

Feste Datenbankrollen werden auf der Datenbankebene definiert und sind in jeder Datenbank vorhanden. Mitglieder der festen Datenbankrollen db_owner und db_securityadmin können die Mitgliedschaft von festen Datenbankrollen ändern. Jedoch können nur Mitglieder der Datenbankrolle db_owner der festen Datenbankrolle db_owner Mitglieder hinzufügen. In der msdb-Datenbank gibt es auch einige feste Datenbankrollen für spezielle Zwecke.

Sie können in Rollen auf Datenbankebene jedes Datenbankkonto und andere SQL Server-Rollen hinzufügen. Jedes Mitglied einer festen Datenbankrolle kann der gleichen Rolle andere Anmeldenamen hinzufügen.

Wichtiger HinweisWichtig

Fügen Sie keine flexiblen Datenbankrollen als Mitglieder fester Rollen hinzu. Dies könnte zu einer unbeabsichtigten Ausweitung von Privilegien führen.

In der folgenden Tabelle werden die festen Datenbankrollen und ihre Möglichkeiten aufgeführt. Diese Rollen sind in allen Datenbanken vorhanden.

Rollenname auf Datenbankebene

Beschreibung

db_owner

Mitglieder der festen Datenbankrolle db_owner können alle Aktivitäten zur Konfiguration und Wartung an der Datenbank ausführen und können die Datenbank auch löschen.

db_securityadmin

Mitglieder der festen Datenbankrolle db_securityadmin können die Rollenmitgliedschaft ändern und Berechtigungen verwalten. Das Hinzufügen von Prinzipalen zu dieser Rolle könnte zu einer unbeabsichtigten Ausweitung von Privilegien führen.

db_accessadmin

Mitglieder der festen Datenbankrolle db_accessadmin können den Zugriff auf die Datenbank für Windows-Anmeldungen, Windows-Gruppen und SQL Server-Anmeldungen hinzufügen oder entfernen.

db_backupoperator

Mitglieder der festen Datenbankrolle db_backupoperator können eine Sicherung der Datenbank durchführen.

db_ddladmin

Mitglieder der festen Datenbankrolle db_ddladmin können in einer Datenbank sämtliche DDL-Befehle (Data Definition Language) ausführen.

db_datawriter

Mitglieder der festen Datenbankrolle db_datawriter können Daten in allen Benutzertabellen hinzufügen, löschen oder ändern.

db_datareader

Mitglieder der festen Datenbankrolle db_datareader können alle Daten aller Benutzertabellen lesen.

db_denydatawriter

Mitglieder der festen Datenbankrolle db_denydatareader können keine Daten in den Benutzertabellen in einer Datenbank hinzufügen, ändern oder löschen.

db_denydatareader

Mitglieder der festen Datenbankrolle db_denydatareader können keine Daten in den Benutzertabellen in einer Datenbank lesen.

Spezielle Informationen zu Berechtigungen fester Datenbankrollen finden Sie unter Berechtigungen der festen Datenbankrollen (Datenbankmodul).

msdb-Rollen

Die msdb-Datenbank enthält die in der folgenden Tabelle aufgeführten Rollen für spezielle Zwecke.

Name der msdb-Rolle

Beschreibung

db_ssisadmin

db_ssisoperator

db_ssisltduser

Mitglieder dieser Datenbankrollen können SSIS verwalten und verwenden. Instanzen von SQL Server, die von einer früheren Version aktualisiert wurden, enthalten möglicherweise eine ältere Version der Rolle, die mit Data Transformation Services (DTS) und nicht mit SSIS benannt wurde. Weitere Informationen finden Sie unter Verwenden von Integration Services-Rollen.

dc_admin

dc_operator

dc_proxy

Mitglieder dieser Datenbankrollen können den Datensammler verwalten und verwenden. Weitere Informationen finden Sie unter Datenauflistersicherheit.

PolicyAdministratorRole

Mitglieder der Datenbankrolle db_ PolicyAdministratorRole können alle Aktivitäten zur Konfiguration und Wartung für Richtlinien und Bedingungen der richtlinienbasierten Verwaltung ausführen. Weitere Informationen finden Sie unter Verwalten von Servern mit der richtlinienbasierten Verwaltung.

ServerGroupAdministratorRole

ServerGroupReaderRole

Mitglieder dieser Datenbankrollen können registrierte Servergruppen verwalten und verwenden. Weitere Informationen finden Sie unter Erstellen von Servergruppen.

dbm_monitor

Wird in der msdb-Datenbank erstellt, wenn die erste Datenbank im Datenbankspiegelungs-Monitor registriert wird. Die dbm_monitor-Rolle hat keine Mitglieder, bis ein Systemadministrator der Rolle Benutzer zuweist.

Wichtiger HinweisWichtig

Mitglieder der db_ssisadmin-Rolle und der dc_admin-Rolle können ihre Berechtigungen möglicherweise auf sysadmin erhöhen. Diese Ausweitung von Berechtigungen ist möglich, da diese Rollen Integration Services-Pakete ändern können und Integration Services-Pakete von SQL Server mithilfe des sysadmin-Sicherheitskontexts des SQL Server-Agents ausgeführt werden können. Konfigurieren Sie als Schutz vor dieser Ausweitung von Berechtigungen beim Ausführen von Wartungsplänen, Datensammlungssätzen und anderen Integration Services-Paketen Aufträge des SQL Server-Agents, die Pakete ausführen, für die Verwendung eines Proxykontos mit einschränkten Berechtigungen, oder fügen Sie der db_ssisadmin-Rolle und der dc_admin-Rolle nur sysadmin-Mitglieder hinzu.

Arbeiten mit Rollen auf Datenbankebene

In der folgenden Tabelle werden die Befehle, Sichten und Funktionen zum Arbeiten mit Rollen auf Datenbankebene erklärt.

Funktion

Typ

Beschreibung

sp_helpdbfixedrole (Transact-SQL)

Metadaten

Gibt eine Liste der festen Datenbankrollen zurück.

sp_dbfixedrolepermission (Transact-SQL)

Metadaten

Zeigt die Berechtigungen einer festen Datenbankrolle an.

sp_helprole (Transact-SQL)

Metadaten

Gibt Informationen zu den Rollen in der aktuellen Datenbank zurück.

sp_helprolemember (Transact-SQL)

Metadaten

Gibt Informationen zu den Mitgliedern einer Rolle in der aktuellen Datenbank zurück.

sys.database_role_members (Transact-SQL)

Metadaten

Gibt eine Zeile für jedes Mitglied jeder Datenbankrolle zurück.

IS_MEMBER (Transact-SQL)

Metadaten

Zeigt an, ob der aktuelle Benutzer ein Mitglied der angegebenen Microsoft Windows-Gruppe oder der Microsoft SQL Server-Datenbankrolle ist.

CREATE ROLE (Transact-SQL)

Befehl

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.

ALTER ROLE (Transact-SQL)

Befehl

Ändert den Namen einer Datenbankrolle.

DROP ROLE (Transact-SQL)

Befehl

Entfernt eine Rolle aus der Datenbank.

sp_addrole (Transact-SQL)

Befehl

Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.

sp_droprole (Transact-SQL)

Befehl

Entfernt eine Datenbankrolle aus der aktuellen Datenbank.

sp_addrolemember (Transact-SQL)

Befehl

Fügt einer Datenbankrolle in der aktuellen Datenbank einen Datenbankbenutzer, eine Datenbankrolle, einen Windows-Anmeldenamen oder eine Windows-Gruppe hinzu.

sp_droprolemember (Transact-SQL)

Befehl

Entfernt ein Sicherheitskonto aus einer SQL Serverrolle in der aktuellen Datenbank.

Datenbankrolle public

Jeder Datenbankbenutzer gehört der Datenbankrolle public an. Wenn einem Benutzer keine bestimmten Berechtigungen für ein sicherungsfähiges Objekt erteilt oder verweigert werden, erbt der Benutzer die Berechtigungen, die der Datenbankrolle public für dieses Objekt erteilt wurden.