Berechtigungen für Geodatabases in SQL Server

Anhand von Berechtigungen wird festgelegt, wozu ein Benutzer im Umgang mit Daten und der Datenbank autorisiert ist. Berechtigungen sollten auf Grundlage der Aufgaben zugewiesen werden, die eine Person innerhalb der Organisation hat. Ist diese Person zuständig für die Verwaltung der Geodatabase? Muss er oder sie auch die Möglichkeit haben, Daten zu bearbeiten oder zu erstellen? Oder muss diese Person nur auf die Daten zugreifen können?

Benutzerberechtigungen werden auf verschiedenen Ebenen festgelegt. Auf dieser Seite werden die Datenbank- und Dataset-Berechtigungen für gängige Benutzertypen beschrieben: Daten-Viewer, Daten-Editor, Daten-Ersteller und Geodatabase-Administrator.

Verwenden Sie Microsoft SQL Server-Werkzeuge oder Transact SQL-Anweisungen für die Verwaltung der Datenbankberechtigungen von Benutzern.

Berechtigungen für Datasets in Geodatabases sollten mit ArcGIS-Clients erteilt oder widerrufen werden. Dies kann nur der Dataset-Besitzer durchführen.

Hinweis:

Die Berechtigung "CONNECT" wird in Datenbanken der Datenbankrolle "public" standardmäßig gewährt. Wenn Sie diese Berechtigung für die Gruppe "public" widerrufen, müssen Sie die Berechtigung "CONNECT" einzelnen Rollen bzw. Anmeldenamen explizit gewähren.

Die auf dieser Seite aufgeführten Berechtigungen gelten für SQL Server und SQL Server-Datenbank-Services, die von ArcGIS unterstützt werden.

Mindestberechtigungen

BenutzertypDatenbankberechtigungenDataset-BerechtigungenNotizen

Daten lesen

SELECT

Wenn der Lesezugriff auf alle Tabellen in der Datenbank gewährt werden soll, können Sie Benutzern die Datenbankrolle "db_datareader" zuweisen. Weisen Sie andernfalls SELECT in bestimmten Tabellen und Sichten zu.

Daten bearbeiten

  • SELECT, INSERT, UPDATE und DELETE für Datasets anderer Benutzer
  • EXECUTE für die gespeicherten Vorgänge für die zu bearbeitenden Daten

Wenn Sie ArcGIS verwenden, um die Berechtigungen SELECT, INSERT, UPDATE und DELETE für eine Feature-Class oder -Tabelle zu gewähren, die für die traditionelle Versionierung registriert wurde, werden diese Berechtigungen automatisch für die zugeordnete versionierte Sicht gewährt. Diese Berechtigungen sind erforderlich, damit der Benutzer mithilfe einer SQL-Sicht und einer versionierten Sicht Änderungen vornehmen kann.

Daten erstellen

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW
  • Jeder Benutzer muss eine Berechtigung "CONTROL" für ein Schema besitzen oder haben, das denselben Namen hat wie ihr Benutzername, und das Schema muss das Standardschema des Benutzers sein.

Schemanamen müssen mit individuellen Benutzernamen übereinstimmen. Sie können kein gemeinsames Schema für alle Datenersteller verwenden. Der Benutzername "simon" muss z. B. ein Schema mit dem Namen "simon" besitzen oder kontrollieren. Wenn diese Anforderung nicht erfüllt ist, ist der Benutzer nicht in der Lage, Objekte, wie z. B. Feature-Classes, zu erstellen.

Geodatabase-Administrator

Der SDE-Benutzer muss nur die Möglichkeit haben, eine Verbindung mit der Geodatabase herzustellen, sobald die Geodatabase erstellt oder ein Upgrade für sie durchgeführt wurde.

SELECT, INSERT, UPDATE und DELETE auf versionierten Datasets

Zusätzliche Berechtigungen sind erforderlich, um es dem SDE-Benutzer zu ermöglichen, in SQL Server, Amazon Relational Database Service (RDS) for SQL Server und Google Cloud SQL for SQL Server alle Verbindungen zu beenden oder anzuzeigen.

Um es dem SDE-Benutzer zu ermöglichen, Verbindungen in einer Microsoft Azure SQL Managed Instance zu beenden, sind keine zusätzlichen Berechtigungen erforderlich.

Der SDE-Benutzer kann keine Verbindungen zur Azure SQL Database beenden.

Berechtigungen zum Erstellen oder Aktualisieren einer Geodatabase

In der folgenden Tabelle sind die Benutzer und Berechtigungen aufgeführt, die zum Erstellen und Aktualisieren von Geodatabases in SQL Server und SQL Server-Datenbank-Services erforderlich sind.

Geodatabase-TypBenutzer und Berechtigungen zum Erstellen einer GeodatabaseBenutzer und Berechtigungen zum Aktualisieren einer Geodatabase

SDE-Schema-Geodatabase

Der Benutzer "sde" benötigt die folgenden Berechtigungen:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

Der Benutzer "sde" muss für ein Schema namens "sde" die Berechtigung "CONTROL" besitzen oder haben, und das Schema "sde" muss das Standardschema des Benutzers "sde" sein.

Wenn die Datenbankoptionen READ_COMMITTED_SNAPSHOT und ALLOW_SNAPSHOT_ISOLATION vor dem Erstellen der Geodatabase nicht auf ON gesetzt werden, benötigt der SDE-Benutzer die ALTER-Berechtigung.

Für Geodatabases in Microsoft Azure SQL Database ist zudem die Berechtigung VIEW DATABASE STATE erforderlich.

Der Benutzer "sde" muss der Rolle "db_owner" in der zu aktualisierenden Datenbank hinzugefügt werden.

Alternativ kann die Aktualisierung von einem Benutzer in SQL Server ausgeführt werden, der der Datenbankrolle "db_owner" oder der festen Serverrolle "sysadmin" angehört (und nicht der Benutzer "sde" ist). Dies gilt nicht für Datenbank-Services.

DBO-Schema

Der DBO-Benutzer verfügt bereits über die erforderlichen Berechtigungen zum Erstellen einer Geodatabase innerhalb einer Datenbank.

Der Benutzer "dbo" verfügt über die erforderlichen Berechtigungen zum Aktualisieren.

Alternativ kann die Aktualisierung von einem Benutzer ausgeführt werden, der der Datenbankrolle "db_owner" angehört.

Zusätzliche Berechtigungen

Für die folgende Funktionalität sind zusätzliche Berechtigungen in der Geodatabase erforderlich:

  • Der Geodatabase-Administrator (der Benutzer "sde") in einer SDE-Schema-Geodatabase in SQL Server muss der festgelegten Serverrolle "processadmin" hinzugefügt werden und VIEW DEFINITION-Berechtigungen für die Datenbank erhalten, um Geodatabase-Verbindungen beenden zu können. Das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen weist dem SDE-Benutzer diese Rolle und diese Berechtigung zu. Sie können diese Berechtigung nach Erstellung der Geodatabase widerrufen und den Benutzer aus der Rolle "processadmin" löschen. Allerdings kann der SDE-Benutzer dann nicht die Verbindung von Benutzern zur Geodatabase trennen.
  • Der SDE-Benutzer in Google Cloud SQL for SQL Server und Amazon RDS for SQL Server muss der festgelegten Serverrolle "processadmin" hinzugefügt werden, um Geodatabase-Verbindungen beenden zu können.
  • Alle Benutzer, die Eigentümer einer XML-Spalte in SQL Server sind, müssen die REFERENCES-Berechtigung für den Volltextkatalog erhalten, der zum Indizieren des Inhalts der XML-Spalte verwendet wird.