SQL Server に格納されたジオデータベースのレプリカ

ジオデータベース レプリケーションを使用すると、2 つ以上のバージョン対応ジオデータベース間でデータの複製を作成できます。これにより、異なるジオデータベース間でデータへの変更を同期させることが可能になります。同期は、あるレプリカがデータ変更を送信し、相対レプリカがデータ変更を受信するという仕組みで実行されます。

双方向または一方向のレプリカを作成する前に、複製されるデータセットに GlobalID 列を追加する必要があります。この操作により、データセット内の行に、レプリケーションに参加するジオデータベース全体で常に一定となる一意の値が付与されます。(レプリケーションのためのデータセットの準備の詳細については、「レプリケーションのためのデータの準備」をご参照ください。)

レプリカの 1 つに変更が行われた後で、ジオデータベースを同期させることで、あるジオデータベースに対する変更を関連するジオデータベースにも反映できます。ジオデータベースがその関連ジオデータベースと同期すると、レプリカ ジオデータベース(関連ジオデータベースに変更を送信しているジオデータベース)のユーザのスキーマ内にテーブルが作成されて、変更内容を追跡します。

ArcGIS Desktop のレプリカ テーブル

同期に使用されるテーブルは、ArcGIS Desktop には表示されません。このテーブルは同期中にだけ、内部で自動的に使用されます。

ただし、カタログ ウィンドウでジオデータベースのプロパティをチェックすることで、ジオデータベースがレプリカ ジオデータベースとして使用中かどうか確認できます。ジオデータベースを右クリックし、[プロパティ] をクリックします。[一般] タブに [分散ジオデータベースの状態] セクションがあります。ジオデータベースが複製元または複製先となっている場合は、「これはレプリカ ジオデータベースです。」 というステータス メッセージが示されます。

ArcMap では、レプリカに参加する 1 つ以上のレイヤが MXD ファイルに含まれている場合は、[分散ジオデータベース] ツールバーのほとんど(すべての場合もあり)のツールがアクティブになります。また、レプリカ マネージャを開くと、1 つ以上のレプリカが表示されます。

Microsoft SQL Server データベースに格納されたレプリカ テーブル

データセットを複製する前に、データセットに GlobalID 列を追加して、バージョン対応登録する必要があります(ベース テーブル移行オプションを使用しないで登録)。このため、データベースでは、レプリカに含まれるすべてのデータセットのビジネス テーブルに、GUID 列およびデルタ テーブルが含まれます。

レプリカは、GDB_ITEMSGDB_ITEMRELATIONSHIPS、および GDB_REPLICALOG ArcSDE ジオデータベース システム テーブルのデータベースで管理されます。これがレプリカであることは、GDB_ITEMTYPES システム テーブルに記録されます。「SQL Server に格納されたジオデータベースのシステム テーブル」をご参照ください。

SQL Server のレプリカ テーブル

破線はテーブル間の暗黙的なリレーションシップを示しています。

2 つのジオデータベース間で同期が実行されると、データセットの変更内容を追跡するための一時テーブルが作成されます。

XML ドキュメントでのレプリカ テーブル

レプリカを作成するときに XML ドキュメントへの複製を選択すると、レプリカと複製されたデータセットに関する情報が次のように <GPReplica> タグに含まれます。

この例では、レプリカの名前は india で、これはジオデータベース バージョン DEFAULT から複製されたものです。

<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>

その他のデータセットの定義

</GPReplicaDatasets>
  <TransferRelatedObjects>true</TransferRelatedObjects> 
  </GPReplicaDescription>
  <ReconcilePolicy>esriReplicaResolveConflictsNone</ReconcilePolicy> 
</GPReplica>

関連項目


3/6/2012