Hinzufügen von Anmeldungen und Benutzern zu SQL Server

In Microsoft SQL Server fügen Datenbankadministratoren Anmeldungen zur SQL Server-Instanz hinzu. Diese Anmeldungen werden Benutzern in verschiedenen Datenbanken auf der SQL Server-Instanz zugeordnet. Datenbankbenutzer, die Tabellen und Feature-Classes erstellen sollen, benötigen Berechtigungen zum Erstellen dieser Objekte in der Datenbank und müssen über ein Schema verfügen, in dem sie diese erstellen können. Bei der Verwendung von ArcGIS muss dieses Schema den gleichen Namen wie der Datenbankbenutzer haben.

Mit dem Geoverarbeitungswerkzeug Datenbankbenutzer erstellen oder einem Python-Skript, das die ArcPy-Funktion management.CreateDatabaseUser aufruft, können Sie die folgenden Aktionen ausführen:

  • Eine Anmeldung zur SQL Server-Instanz erstellen oder hinzufügen
  • Einen Benutzer erstellen, der dem angegebenen Anmeldenamen zugeordnet ist
  • Ein passendes Schema für den Benutzer in der angegebenen Datenbank erstellen
  • Dem Benutzer ausreichende Berechtigungen zum Erstellen von Tabellen, Feature-Classes und Sichten in der angegebenen Datenbank gewähren

Hinzufügen eines Benutzers, der Daten erstellen kann

Sie können das Werkzeug Datenbankbenutzer erstellen in ArcGIS Pro ausführen oder die ArcPy-Funktion management.CreateDatabaseUser in einem Python-Skript aufrufen, um einen Datenbankbenutzer zu erstellen, der Tabellen, Feature-Classes und Sichten erstellen kann.

Sie müssen mit einem Anmeldenamen mit sysadmin-Berechtigungen für die SQL Server-Instanz mit der Datenbank verbunden sein, um das Werkzeug Datenbankbenutzer erstellen oder die Funktion management.CreateDatabaseUser auszuführen.

Um einen Datenbankbenutzer für Microsoft Windows-Anmeldedaten zu erstellen, müssen die Anmeldedaten vorhanden sein, bevor Sie das Werkzeug oder die Funktion ausführen.

Verwenden des Werkzeugs Datenbankbenutzer erstellen

Führen Sie die folgenden Schritte aus, um mit dem Werkzeug Datenbankbenutzer erstellen einen Datenbankbenutzer in SQL Server zu erstellen:

  1. Starten Sie ArcGIS Pro.
  2. Stellen Sie mit einem Anmeldenamen mit sysadmin-Berechtigungen in der SQL Server-Instanz eine Verbindung mit der Datenbank oder Geodatabase her.
  3. Öffnen Sie das Werkzeug Datenbankbenutzer erstellen.

    Das Werkzeug befindet sich in der Toolbox "Data Management" im Toolset "Geodatabase-Verwaltung".

  4. Geben Sie die Datenbankverbindung für die Eingabe-Datenbankverbindung an.
  5. Wählen Sie aus, ob Sie eine SQL Server-authentifizierte Anmeldung oder eine vorhandene Windows-authentifizierte Anmeldung verwenden möchten.
    • Lassen Sie Betriebssystem-authentifizierten Benutzer erstellen deaktiviert, um eine Anmeldung mit SQL Server-Authentifizierung zu erstellen. Beachten Sie, dass bei SQL Server-Instanzen standardmäßig nur die Windows-Authentifizierung verwendet wird. Wurde die Verwendung der SQL Server- und der Windows-Authentifizierung in der Instanz nicht konfiguriert, ist die Erstellung einer Anmeldung mit Datenbankauthentifizierung nicht möglich.
    • Aktivieren Sie Betriebssystem-authentifizierten Benutzer erstellen, um eine vorhandene Anmeldung mit Windows-Authentifizierung zu verwenden.
  6. Geben Sie einen Namen für den Datenbankbenutzer ein, der von dem Werkzeug erstellt wird.

    Wenn Sie eine Anmeldung mit SQL Server-Authentifizierung erstellen möchten, wird der hier eingegebene Name auch für die Anmeldung verwendet.

  7. Geben Sie ein Kennwort für den Datenbankbenutzer ein.
  8. Wenn Sie bereits über eine Datenbankrolle verfügen, der Sie diesen Benutzer hinzufügen möchten, geben Sie die Rolle an.
  9. Klicken Sie auf Ausführen.

Ausführen eines Python-Skripts

Führen Sie die folgenden Schritte aus, um ein Skript für die Benutzererstellung zu erzeugen:

  1. Erstellen Sie eine Textdatei auf einem ArcGIS-Client-Computer, und kopieren Sie einen der folgenden Codeblöcke in die Datei.

    Ändern Sie den Code, sodass Ihre standortspezifischen Informationen berücksichtigt werden

    In den Beispielen wird davon ausgegangen, dass Sie über eine vorhandene Datenbankverbindungsdatei verfügen, mit der eine Verbindung als Benutzer mit sysadmin-Berechtigungen in der SQL Server-Instanz hergestellt wird. Falls dies nicht der Fall ist, erstellen Sie eine Verbindungsdatei, bevor Sie das Skript ausführen.

    # Name: createdatabaseuser_exampleW.py
    # Description: Uses existing database connection file
    # on a Windows computer to create a database user in SQL Server.
    
    # Import arcpy module
    import arcpy
     
    # Provide a database connection file for the system administrator user.
    connection = "C:\\ArcGIS\connection_files\<Connection file>.sde"
    
    # Process: Create database user that can create data for an existing operating system login.
    arcpy.CreateDatabaseUser_management(connection, "OPERATING_SYSTEM_USER", "NETWORKNAME\\username")
    # Name: createdatabaseuser_exampleL.py
    # Description: Uses existing database connection file
    # on a Linux computer to create a database user in SQL Server.
    
    # Import arcpy module
    import arcpy
     
    # Provide a database connection file for the system administrator user.
    connection = "<user>/connections/<Connection_file>.sde"
    
    # Process: Create a new database login and user that can create data.
    arcpy.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1")

  2. Speichern Sie die Datei mit der Erweiterung .py.
  3. Führen Sie das Skript auf einem Computer aus, auf dem ArcGIS Pro ( Standard oder Advanced) oder ArcGIS Server installiert ist.

    Weitere Informationen zum Ausführen von Python auf einem ArcGIS Server-Computer finden Sie unter ArcGIS Server und ArcPy.

Die Datenbank enthält nun einen Benutzer, der Tabellen und Feature-Classes erstellen kann.

Sobald die Tabellen und Feature-Classes erstellt wurden, kann der Datenbesitzer anderen Benutzern Berechtigungen für die Datasets gewähren. Anweisungen dazu finden Sie unter Gewähren und Widerrufen von Dataset-Berechtigungen in Datenbanken und Enterprise-Geodatabases.

Erstellen von Anmeldungen und Benutzern mit SQL Server-Werkzeugen

Um einen Benutzer zu erstellen, dessen Berechtigungen sich von den mit dem Werkzeug Datenbankbenutzer erstellen gewährten Berechtigungen unterscheiden oder dem keine Berechtigungen direkt gewährt werden, können Sie die SQL Server-Werkzeuge verwenden. Beachten Sie bei der Erstellung eigener Anmeldungen und Benutzer, die mit ArcGIS verwendet werden sollen, Folgendes:

  • Alle Datenbankbenutzer, die Daten erstellen, müssen über ein Schema in der Datenbank verfügen. Dieses Schema muss den gleichen Namen wie der Benutzer haben.
  • Anstelle von einzelnen Windows-Benutzern können Sie auch einer Windows-Gruppe den Zugriff auf SQL Server gewähren, um die Erstellung und Verwaltung von Anmeldungen zu vereinfachen. Alle Mitglieder der Windows-Gruppe können sich bei SQL Server anmelden. Server-, Datenbank- und Dataset-Berechtigungen, die der Gruppe gewährt werden, gelten automatisch für jedes Mitglied der Gruppe. Beachten Sie jedoch, dass Sie nicht nur ein Schema zum Speichern der von allen Gruppenmitgliedern erzeugten Daten erstellen können. Jeder Benutzer in der Gruppe, der Daten in der Geodatabase erstellt, muss ein eigenes Schema haben, in dem die Daten gespeichert werden. SQL Server erstellt einen Benutzer und ein Schema in der Datenbank, wenn ein Gruppenmitglied das erste Mal Daten erstellt. Dies erfolgt automatisch. Schemas und Benutzer müssen nicht manuell erstellt werden.

Anweisungen zum Erstellen von Anmeldungen, Benutzern und Schemas mit den SQL Server-Werkzeugen finden Sie in der Microsoft SQL Server-Dokumentation.