Freigeben über


Rollen auf Datenbankebene

Um die Berechtigungen in Ihren Datenbanken einfach zu verwalten, stellt SQL Server mehrere Rollen bereit, bei denen es sich um Sicherheitsprinzipale handelt, die andere Prinzipale gruppieren. Sie sind wie Gruppen im Microsoft Windows-Betriebssystem. Der Geltungsbereich der Berechtigungen von Rollen auf Datenbankebene erstreckt sich auf die gesamte Datenbank.

Es gibt zwei Arten von Rollen auf Datenbankebene in SQL Server: 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 Datenbankrolle db_owner können die Mitgliedschaft von festen Datenbankrollen ändern. 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.

Wichtig

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.

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 SSISverwalten 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 Integration Services-Rollen (SSIS-Dienst).
dc_admin

dc_operator

dc_proxy
Mitglieder dieser Datenbankrollen können den Datensammler verwalten und verwenden. Weitere Informationen finden Sie unter Data Collection.
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.
dbm_monitor Wird in der msdb Datenbank erstellt, wenn die erste Datenbank im Datenbankspiegelungsmonitor registriert wird. Die dbm_monitor -Rolle hat keine Mitglieder, bis ein Systemadministrator der Rolle Benutzer zuweist.

Wichtig

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 type 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) Get-Help Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.
ALTER ROLE (Transact-SQL) Befehl Ändert den Namen einer Datenbankrolle.
DROP ROLE (Transact-SQL) Get-Help Entfernt eine Rolle aus der Datenbank.
sp_addrole (Transact-SQL) Get-Help Erstellt eine neue Datenbankrolle in der aktuellen Datenbank.
sp_droprole (Transact-SQL) Get-Help Entfernt eine Datenbankrolle aus der aktuellen Datenbank.
sp_addrolemember (Transact-SQL) Get-Help Fügt einer Datenbankrolle in der aktuellen Datenbank einen Datenbankbenutzer, eine Datenbankrolle, einen Windows-Anmeldenamen oder eine Windows-Gruppe hinzu.
sp_droprolemember (Transact-SQL) Get-Help 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.

Sicherheitskatalogsichten (Transact-SQL)

Gespeicherte Sicherheitsprozeduren (Transact-SQL)

Sicherheitsfunktionen (Transact-SQL)

Sichern von SQL Server

sp_helprotect (Transact-SQL)