HOW TO
Es kann vorkommen, dass interne Replikatversionen in der Geodatabase getrennt werden, was eine suboptimale Geodatabase-Komprimierung zur Folge hat.
In den folgenden Anweisungen wird beschrieben, wie diese getrennten Versionen identifiziert und gelöscht werden können.
Hinweis: Die ArcSDE-Software, einschließlich Anwendungsserver, Befehlswerkzeugen und SDK mit C- und Java-APIs, wird in ArcSDE 10.2.2 nicht mehr unterstützt und nicht mehr ausgeliefert.
Replikatsystemversionen werden von ArcGIS im Hintergrund verwendet, um zu bestimmen, welche Änderungen für ein Replikat synchronisiert werden sollen. Für jedes Replikat gibt es mehrere Systemversionen in der Geodatabase. Bei der Synchronisierung der Replikate werden von ArcGIS verschiedene Systemversionen erstellt und gelöscht.
Hinweis: Diese Versionen werden absichtlich ausgeblendet, d. h. sie werden in ArcGIS nicht angezeigt und von ArcObjects nicht zurückgegeben. Sie sollten nicht manuell aus dem ArcSDE-Repository gelöscht werden.
Replikatsystemversionen können anhand ihres Namens identifiziert werden. Für unidirektionale und bidirektionale Replikatsystemversionen gelten folgende Namenskonventionen:
SYNC_RECEIVE_<replica id>_<generation number> SYNC_RECEIVE_REC_<replica id>_<generation number> SYNC_SEND_<replica id>_<generation number>
Es kann vorkommen, dass Replikate nicht registriert sind und ihre Replikatsystemversionen in der Geodatabase verbleiben. Diese getrennten Versionen verursachen möglicherweise eine unzureichende Komprimierung der Geodatabase.
In den folgenden Schritten wird beschrieben, wie diese getrennten Versionen identifiziert und entfernt werden können.
Hinweis: Wenn Sie eine DBO-Schema-Datenbank verwenden, ändern Sie für SQL Server die folgende Syntax, um "dbo.GDB_ITEMS" und "dbo.GDB_ITEMTYPES" zu berücksichtigen.
SELECT ITEMS.Definition .value( '(/GPReplica/ID)[1]', 'nvarchar(max)') AS "ID" , ITEMS.Definition .value( '(/GPReplica/Name)[1]', 'nvarchar(max)') AS "Replica Name" , ITEMS.Definition .value( '(/GPReplica/ReplicaVersion)[1]', 'nvarchar(max)') AS "Replica Version" , ITEMS.Definition .value( '(/GPReplica/CreationDate)[1]', 'nvarchar(max)') AS "Creation Date" from sde.GDB_ITEMS AS ITEMS INNER JOIN sde.GDB_ITEMTYPES AS ITEMTYPES ON ITEMS .Type = ITEMTYPES .UUID WHERE ITEMTYPES. Name = 'Replica';
Warnung: Konfigurieren Sie Oracle EXTPROC, damit die folgende Syntax erfolgreich ausgeführt wird.
SELECT EXTRACTVALUE(XMLType(Definition), '/GPReplica/Name') AS "Replica Names", EXTRACTVALUE(XMLType(Definition), '/GPReplica/ID') AS "ReplicaID" FROM sde.GDB_ITEMS_VW ITEMS INNER JOIN sde.GDB_ITEMTYPES ITEMTYPES ON ITEMS.Type = ITEMTYPES.UUID WHERE ITEMTYPES.Name = 'Replica';
SQL> select name from sde.versions order by name;
Das folgende Beispiel zeigt die Ergebnisse, die mit dieser Abfrage zurückgegeben würden:
NAME ---------------------------------- DEFAULT SYNC_RECEIVE_56_0 SYNC_RECEIVE_56_1 SYNC_RECEIVE_56_2 SYNC_RECEIVE_REC_56_2 SYNC_SEND_56_0 SYNC_SEND_57_0 SYNC_SEND_48_2
Warnung: Es sollten keine anderen Replikatsystemversionen aus der Geodatabase gelöscht werden, da dies zur Beschädigung der vorhandenen Replikate führen kann.
Hinweis: Wenden Sie sich an Esri Support Services, wenn es neben den in Schritt 3 identifizierten getrennten Versionen noch weitere getrennte Versionen gibt.
Hilfe von ArcGIS-Expert*innen erhalten
Die Esri Support-App herunterladen