Replikate in einer Geodatabase in SQL Server
Die Replikation von Geodatabases ermöglicht ihnen, Kopien von Daten in mehreren versionierten Geodatabases zu erstellen, sodass die Änderungen an den Daten synchronisiert werden können. Bei einer Synchronisierung werden von einem Replikat Änderungen an den Daten übertragen und vom relativen Replikat Änderungen empfangen.
Bevor Sie ein unidirektionales oder bidirektionales Replikat erstellen, müssen Sie den zu replizierenden Datasets eine Spalte namens "GlobalID" hinzufügen. Die Zeilen im Dataset erhalten hierdurch einen Einzelwert, der in allen Geodatabases gleich bleibt. (Informationen zur Vorbereitung eines Datasets auf die Replikation finden Sie unter Vorbereiten von Daten für die Replikation.)
Nachdem Änderungen in einem der Replikate vorgenommen wurden, können Sie die Geodatabases synchronisieren und so die Änderungen in der einen Geodatabase in die relative Geodatabase einfügen. Wenn eine Geodatabase mit der relativen Geodatabase synchronisiert wird, wird im Benutzerschema der Replikat-Geodatabase (die Änderungen an die relative Geodatabase sendet) eine Tabelle erstellt, um die Lineages geänderter Datasets zu verfolgen.
Replikattabellen in ArcGIS Desktop
Die für die Synchronisierung verwendete Tabelle wird in ArcGIS Desktop nicht angezeigt, sondern nur im Hintergrund und nur für die Synchronisierung verwendet.
Sie können jedoch ermitteln, ob eine Geodatabase als Replikat-Geodatabase verwendet wird, indem Sie deren Eigenschaften im Fenster "Katalog" überprüfen. Klicken Sie mit der rechten Maustaste auf die Geodatabase, und klicken Sie dann auf Eigenschaften. Auf der Registerkarte "Allgemein" gibt es einen Abschnitt namens "Status der verteilten Geodatabase". Wenn die Geodatabase repliziert wurde oder sie Ziel einer Replikation war, lautet die Statusmeldung "Dies eine Replikat-Geodatabase ist".
In ArcMap enthält eine MXD-Datei einen oder mehrere Layer, die repliziert wurden, da die meisten (oder sogar alle) Werkzeuge auf der Werkzeugleiste "Verteilte Geodatabase" aktiv sind. Auch wenn Sie den Replikat-Manager öffnen, werden ein oder mehrere Replikate aufgeführt.
Replikattabellen in einer Microsoft SQL Server-Datenbank
Bevor Datasets repliziert werden können, müssen sie eine Spalte namens "GlobalID" enthalten und als vollständig versioniert (nicht mit der Option zum Speichern von Änderungen in der Basisversion) registriert sein. Daher weisen die Business-Tabellen aller Datasets, die im Replikat enthalten sind, in der Datenbank eine Spalte "GUID" und Deltatabellen auf.
Replikate werden in der Datenbank in den Systemtabellen GDB_ITEMS, GDB_ITEMRELATIONSHIPS und GDB_REPLICALOG der ArcSDE-Geodatabase verfolgt. Die Informationen, dass es sich um ein Replikat handelt, wird in der Systemtabelle GDB_ITEMTYPES aufgezeichnet. Weitere Informationen finden Sie unter Systemtabellen einer Geodatabase in SQL Server.
Die gestrichelten Linien geben implizite Beziehungen zwischen Spalten an.
Wenn die Synchronisierung zwischen zwei Geodatabases ausgeführt wird, wird eine temporäre Tabelle erstellt, um Dataset-Lineages zu verfolgen.
Replikattabellen in einem XML-Dokument
Wenn Sie beim Erstellen des Replikats als Ziel ein XML-Dokument auswählen, werden die Informationen zum Replikat und zu den replizierte Datasets in <GPReplica>-Tags eingeschlossen, wie unten dargestellt.
In diesem Beispiel lautet der Name des Replikats india, und es wurde aus der Geodatabase-Version DEFAULT repliziert.
<GPReplica xsi:type="esri:GPReplica"> <Name>DBO.india</Name> <ID>-1</ID> <ReplicaVersion>dbo.DEFAULT</ReplicaVersion> <CreationDate>2007-04-23T12:13:07</CreationDate> <GUID>AFC2DA1A-B751-4096-82DE-7AC9E601A563</GUID> <Role>esriReplicaRoleChild</Role> <AccessType>esriReplicaChildReadOnly</AccessType> <MyGenerationNumber>0</MyGenerationNumber> <SibGenerationNumber>0</SibGenerationNumber> <SibMyGenerationNumber>0</SibMyGenerationNumber> <ReplicaState>esriReplicaStateWaitingForData</ReplicaState> <SibConnectionString>SERVER=rocketjay_seadvsp2;INSTANCE=sde:sqlserver:rocketjay\seadvsp2;DATABASE=aroundtheworld;VERSION=dbo.DEFAULT;AUTHENTICATION_MODE=OSA;ProgID=esriDataSourcesGDB.SdeWorkspaceFactory.1</SibConnectionString> <GPReplicaDescription xsi:type="esri:GPReplicaDescription"> <ModelType>esriModelTypeFullGeodatabase</ModelType> <SingleGeneration>false</SingleGeneration> <SpatialRelation>esriSpatialRelIntersects</SpatialRelation> <QueryGeometry xsi:type="esri:EnvelopeN"> <XMin>-5543912.2421665</XMin> <YMin>3741401.908035</YMin> <XMax>-5538272.6904335</XMax> <YMax>3743452.058665</YMax> <SpatialReference xsi:type="esri:ProjectedCoordinateSystem"> <WKT>PROJCS["Asia_South_Albers_Equal_Area_Conic",GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"], PARAMETER["False_Easting",0.0], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",125.0],PARAMETER["Standard_Parallel_1",7.0], PARAMETER["Standard_Parallel_2",-32.0], PARAMETER["Latitude_Of_Origin",-15.0], UNIT["Meter",1.0]], VERTCS["Ha_Tien_1960", VDATUM["Ha_Tien_1960"], PARAMETER["Vertical_Shift",0.0], PARAMETER["Direction",1.0], UNIT["Meter",1.0]]</WKT> <XOrigin>-21663300</XOrigin> <YOrigin>-10280500</YOrigin> <XYScale>207890747.363998</XYScale> <ZOrigin>0</ZOrigin> <ZScale>1</ZScale> <MOrigin>-100000</MOrigin> <MScale>10000</MScale> <XYTolerance>0.001</XYTolerance> <ZTolerance>2</ZTolerance> <MTolerance>0.001</MTolerance> <HighPrecision>true</HighPrecision> </SpatialReference> </QueryGeometry> <GPReplicaDatasets xsi:type="esri:ArrayOfGPReplicaDataset"> <GPReplicaDataset xsi:type="esri:GPReplicaDataset"> <DatasetName>aroundtheworld.DBO.roads</DatasetName> <DatasetType>esriDTFeatureClass</DatasetType> <RowsType>esriRowsTypeFilter</RowsType> <IsPrivate>false</IsPrivate> <UseGeometry>true</UseGeometry> </GPReplicaDataset>
Andere Dataset-Definitionen
</GPReplicaDatasets> <TransferRelatedObjects>true</TransferRelatedObjects> </GPReplicaDescription> <ReconcilePolicy>esriReplicaResolveConflictsNone</ReconcilePolicy> </GPReplica>