Benutzer und Gruppen: Änderungen an der erstmaligen Replikation

Achtung

Diese Verhaltensänderung ist in Bundle 2023_04 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Wenn Sie eine Replikations- oder Failover-Gruppe verwenden, um USERS und/oder ROLES von einem Quellkonto in ein Zielkonto zu replizieren, und in diesem Konto Benutzer/Rollen vorhanden sind, die auf andere Weise als durch Replikation erstellt wurden, führt die erstmalige Aktualisierungsoperation dieser Objekttypen zum Löschen aller Benutzer und/oder Rollen im Zielkonto.

Wenn bei der erstmaligen Aktualisierung Benutzer und/oder Rollen im Zielkonto gelöscht werden, kann dies zu einem Verlust von Daten und Metadaten führen:

  • Wenn USERS in der Liste OBJECT_TYPES der Replikations- oder Failover-Gruppe enthalten ist, passiert Folgendes:

    • Arbeitsblätter gehen verloren

    • Abfrageverlauf geht verloren

  • Wenn USERS in der Liste OBJECT_TYPES enthalten ist, ROLES aber nicht, passiert Folgendes:

    • Berechtigungen für Benutzer gehen verloren

  • Wenn ROLES in der Liste OBJECT_TYPES enthalten ist, passiert Folgendes:

    • Berechtigungen zur Freigabe von Objekten gehen verloren

In einem zukünftigen Release wird sich dieses Verhalten wie folgt ändern:

Bisher:

Wenn eine Replikations- oder Failover-Gruppe USERS und/oder ROLES in der Liste OBJECT_TYPES enthält, führt die erstmalige Aktualisierungsoperation dieser Objekttypen dazu, dass Benutzer und/oder Rollen im Zielkonto gelöscht werden.

Jetzt:

Wenn eine Replikations- oder Failover-Gruppe USERS und/oder ROLES in der Liste OBJECT_TYPES enthält, schlägt die erstmalige Aktualisierungsoperation dieser Objekttypen in folgenden Fällen mit einer Fehlermeldung fehl:

  • Es gibt bereits Benutzer und/oder Rollen im Zielkonto, die mit gleichnamigen Objekten im Quellkonto übereinstimmen und

  • USERS und/oder ROLES wurden noch nicht in das Zielkonto repliziert

In der Fehlermeldung werden dem Benutzer zwei Optionen angeboten:

  • Die Aktualisierungsoperation wird erzwungen und es wird zugelassen, dass alle vorhandenen Benutzer und/oder Rollen im Zielkonto gelöscht werden. Benutzer/Rollen des Quellkontos werden im Zielkonto neu erstellt.

    Um eine Aktualisierung zu erzwingen, müssen Sie die folgende Anweisung ausführen:

    ALTER ( { FAILOVER | REPLICATION } ) GROUP <rg_name> REFRESH FORCE;
    
    Copy
  • Verknüpfen der Kontoobjekte über den Namen: Benutzer und/oder Rollen mit demselben Namen im Zielkonto und im Quellkonto werden verknüpft. Die Benutzer/Rollen im Zielkonto, die verknüpft sind, werden nicht gelöscht.

    Um Kontoobjekte über ihren Namen zu verknüpfen, führen Sie die folgende Anweisung aus:

    SELECT SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME('<rg_name>');
    
    Copy

Bemerkung

Jeder Benutzer bzw. jede Rolle im Zielkonto, für den/die es im Quellkonto kein übereinstimmendes Objekt mit demselben Namen gibt, wird gelöscht.

Weitere Informationen dazu finden Sie unter Globale IDs auf Objekte anwenden, die von Skripten in Zielkonten erstellt wurden.

Ref.: 1044