Deutsch

How To: Resynchronisieren von SQL Server-Anmeldungen oder -Benutzern nach dem Wiederherstellen einer Datenbank aus einer Sicherungskopie

Zusammenfassung

In den Anweisungen wird beschrieben, wie SQL Server-Anmeldungen mit den Datenbankbenutzern nach dem Wiederherstellen einer Datenbank aus einer Sicherungskopie resynchronisiert werden. Dieser Prozess ist immer dann erforderlich, wenn eine SDE-Schemadatenbank aus einer Sicherungskopie (.bak) wiederhergestellt oder aus einer zuvor abgehängten Datenbank (.mdf) angehängt wird. In diesen Szenarios ist der SDE-Benutzer in der Geodatabase nicht mit der Anmeldung für diese Instanz von SQL Server synchron.

Wenn die SDE-Anmeldung nicht hinzugefügt und mit dem Benutzer in dieser Datenbank synchronisiert wurde, schlägt die Verbindung mit dem Fehler "Falscher Benutzer" fehl oder der Service wird nicht gestartet.

Vorgehensweise

Zur Behebung dieses Problems kann die gespeicherte Prozedur (SP_CHANGE_USERS_LOGIN) ausgeführt werden. Dabei wird ein vorhandener Datenbankbenutzer der entsprechenden SQL Server-Anmeldung zugeordnet. Dies sollte für alle Datenbanken, in denen der Benutzer ‘SDE’ den Zugriff zum Verwalten der Datenbank benötigt, ausgeführt werden. Dies muss auch für alle authentifizierten SQL Server-Datenbankbenutzer, denen Daten gehören, ausgeführt werden. Beim Starten des Service ist der Benutzer ‘SDE’ der einzige erforderliche Benutzer.

  1. Stellen Sie vor dem Ausführen der gespeicherten Prozedur sp_change_users_login sicher, dass unter "Sicherheit > Anmeldungen" die SQL Server-Anmeldung zu diesem Datenbankbenutzer zur Instanz hinzugefügt wurde.
  2. Öffnen Sie eine neue Abfrage in SQL Server Management Studio und führen Sie den folgenden Befehl aus:

    Code:

    use Datenbankname
    go
    EXEC sp_change_users_login 'Update_One', 'sde', 'sde'
    go


    Nach der Ausführung des Befehls wird die folgende Meldung angezeigt:

    'Befehl(e) erfolgreich ausgeführt.'
    MSDN: sp_change_users_login (Transact-SQL)
  3. Überprüfen der Korrektur:
    Wenn versucht wird, eine Verbindung zur Datenbank oder in ArcCatalog als SDE oder USER herzustellen, wird überprüft, ob Anmeldung und Benutzer ordnungsgemäß synchronisiert sind

    Die folgenden Abfragen können auch ausgeführt werden, um die Tabelle syslogins in der Master-Datenbank abzufragen und mit der Tabelle sysusers in der einzelnen Benutzerdatenbank zu vergleichen. Um zu überprüfen, ob die SID-Spalten übereinstimmen, können Sie die folgende Abfrage verwenden:

    Code:

    use master
    go
    select * from syslogins where name='sde'
    go

    use Datenbankname
    go
    select * from sysusers where name='sde'
    go