HOW TO
Es wurden Workflows identifiziert, die zu Inkonsistenzen in den Systemtabellen der Verzweigungsversionierung führen können. Wenn ein solches Problem auftritt, können Features mit fehlenden Metadaten für die Verzweigungsversionierung zu Dateninkonsistenzen führen, wenn die Version abgeglichen, zurückgeschrieben und/oder gelöscht wird.
Das Problem resultiert daraus, wie die Metadaten für die Verzweigungsversionierung beim Speichern von Änderungen, Abgleichen und Zurückschreiben verwaltet werden. Während dieser Operationen können Metadaten für die Verzweigungsversionierung aus der Geodatabase entfernt werden. Wenn die Metadaten für die Verzweigungsversion fälschlicherweise entfernt werden, können Features möglicherweise nicht korrekt an zukünftigen Vorgängen wie dem Abgleichen, Zurückschreiben und Löschen von Versionen teilnehmen, was zu inkonsistenten Daten führt. Dieses Problem trat in Wettlaufsituationen auf, bei denen konkurrierende Anforderungen dazu führten, dass Metadaten der Verzweigungsversionierung für gültige Features fälschlicherweise entfernt wurden.
Operationen, die bei falschen Metadaten der Verzweigungsversionierung ausgeführt werden, könnten zu folgenden Situationen führen:
Diese Systemtabelleninkonsistenzen werden in den folgenden Versionen verhindert und korrigiert:
Beim Aktualisieren einer Enterprise-Geodatabase wird zusätzlich auf etwaige Dateninkonsistenzen in Bezug auf nach Verzweigung versionierte Daten geprüft. Inkonsistenzen werden während der Aktualisierung behoben, indem entweder neue Versionen mit reparierten Daten erstellt oder vorhandene Versionen aktualisiert werden. Diese Versionen sollten überprüft werden, um zu ermitteln, ob einige der Daten in die Default-Version zurückgeschrieben sollten.
In diesem Artikel wird der Workflow zur Überprüfung von Inkonsistenzen, die nach einer Aktualisierung der Geodatabase behoben wurden, beschrieben. Wie bereits erwähnt, können die Daten bei der Aktualisierung auf zwei Arten repariert werden: durch Erstellen einer neuen Wiederherstellungsversion oder durch Aktualisieren einer vorhandenen Version. Für diesen Artikel werden diese Versionen als neue Wiederherstellungsversionen bzw. vorhandene Versionen mit wiederhergestellten Zeilen bezeichnet. Die im Artikel überprüfte Geodatabase verfügt über zwei Versionen, die abgerufen und überprüft werden. Die Namen der Versionen lauten:
Der beschriebene Workflow enthält Informationen dazu, wo die Informationen zu diesen Versionen gesammelt werden können, wie eine Verbindung zu diesen Versionen hergestellt wird und welche Aktionen für diese Versionen in ArcGIS Pro erforderlich sein können.
Hier der Workflow im Überblick:
WARNING 003929: During the upgrade recovery versions (<value>) were created that require further review. Review <value> for more detail.
Wenn während des Aktualisierungsvorgangs Inkonsistenzen erkannt werden, gibt das Werkzeug "Geodatabase aktualisieren" eine Warnung zurück. Darin wird angegeben, wie viele Versionen wiederhergestellt wurden und wo die Datei "sde_setup.log" gespeichert ist, wie in der folgenden Abbildung gezeigt. Meldungen zu Geodatabase-Aktualisierungen werden in der Datei "sde_setup.log" gespeichert. Diese wird in dem Verzeichnis erstellt, das für die Variable "%TEMP%" auf dem Computer angegeben wurde, auf dem das Werkzeug ausgeführt wird. Die Anzahl der Versionen bezieht sich sowohl auf neue Wiederherstellungsversionen als auch auf vorhandene Versionen mit wiederhergestellten Zeilen. Die Datei "sde_setup.log" enthält zusätzliche Informationen zu den reparierten Versionen.

Note: If using Python to upgrade the geodatabase, use the following example to ensure that warnings are properly returned to report recovery versions. If no warning is returned, no data inconsistencies were found in the geodatabase and no further action is required.
import arcpy
arcpy.UpgradeGDB_management(
input_workspace=r"C:\temp\sysadmin_connection.sde",
input_prerequisite_check="PREREQUISITE_CHECK",
input_upgradegdb_check="UPGRADE"
)
warnings = arcpy.GetMessages(1)
errors = arcpy.GetMessages(2)
if "WARNING 003929" in warnings:
print(warnings)
elif "Recovery versions" in warnings:
recovery_versions = warnings[warnings.find("Recovery versions"):warnings.find(")") + 1]
for item in warnings.split("\n"):
if "sde_setup.log" in item:
logfile_loc = item.strip()
print("--------------------------------------------------------------------------------------------------")
print(f"WARNING 003929: During the upgrade {recovery_versions} were created that require further review.")
print(f"Review {logfile_loc} for more detail.")
print("--------------------------------------------------------------------------------------------------")
if errors:
print(errors)
Falls erforderlich, laden Sie die Beispieldatei sde_setup_howto.log in einen Texteditor herunter, und öffnen Sie sie. Die Abschnitte dieser Datei werden in den folgenden Schritten referenziert.
[08:51:34.091] ================================================================== [08:51:34.091] Begin recovery of branch versioned data associated with a missing branch... [08:51:37.302] Created recovery version(s): [08:51:37.302] sde.RECOVERY_VERSION_BR_1 with edits to: [08:51:37.302] - CREATOR1.POINT [08:51:37.302] - CREATOR1.LINE [08:51:37.302] - CREATOR1.POLYGON [08:51:37.302] Completed recovery of branch versioned data associated with a missing branch. [08:51:37.302] An administrator must update the service_name for the above versions in the sde.SDE_branches table in order for users to connect and review. [08:51:37.303] ==================================================================
[08:51:37.304] Begin recovery of branch versioned data associated with an invalid common ancestor moment...
[08:51:37.622] Recovered rows in version(s):
[08:51:37.622] ADMIN.EXISTING_VERSION (service: Post_DataLoss) with edits to:
[08:51:37.622] - CREATOR1.POINT
Object ID(s) : {46,436}
[08:51:37.622] - CREATOR1.POLYGON
Object ID(s) : {462}
[08:51:37.622] Completed recovery of branch versioned data associated with an invalid common ancestor moment.
[08:51:37.622] A portal user must connect and review the above version(s).
Es sind einige Schritte erforderlich, bevor die Wiederherstellungsversionen überprüft werden können. Im folgenden Abschnitt wird der Prozess zur Vorbereitung sowohl der neuen Wiederherstellungsversionen als auch der vorhandenen Versionen mit wiederhergestellten Zeilen für den Zugriff und die Überprüfung beschrieben.
Gehen Sie folgendermaßen vor, um jede neue Wiederherstellungsversion mit der Namenskonvention "RECOVERY_VERSION_BR_<branch_id>" vorzubereiten:
Note: If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data).
UPDATE sde.sde_branches SET service_name = 'my_service_name' WHERE name = 'RECOVERY_VERSION_BR_1';
Note: If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data), using the same service name.
Die Versionen werden nun für die Verwendung zur Prüfung der reparierten Daten vorbereitet.

Note: If a new recovery version only has edits to dataset system tables, for example: only Utility Network system tables, the Differences view may not display changes; therefore, the version can be deleted.
Artikel-ID: 000032501
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten