スナップショットを使用したサブスクリプションの初期化
パブリケーションを作成すると、通常は初期スナップショットが作成され、スナップショット フォルダにコピーされます (この動作は、パブリケーションの新規作成ウィザードを使用して作成されたマージ パブリケーションに対して既定で実行されます)。その後スナップショットは、サブスクリプションの最初の同期時に、ディストリビューション エージェント (トランザクション パブリケーションおよびスナップショット パブリケーションの場合) またはマージ エージェント (マージ パブリケーションの場合) によってサブスクライバに適用されます。スナップショット処理は、パブリケーションの種類によって変わります。
パラメータ化されたフィルタを使用しないスナップショット パブリケーション、トランザクション パブリケーション、またはマージ パブリケーションに対するスナップショットの場合、スナップショットにはスキーマとデータが含まれ、一括コピー プログラム (bcp) ファイルとして作成されます。また、レプリケーションで必要な制約、拡張プロパティ、インデックス、トリガ、およびシステム テーブルも含まれます。スナップショットの作成と適用の詳細については、「スナップショットの作成および適用」を参照してください。
パラメータ化されたフィルタを使用するマージ パブリケーションに対するスナップショットの場合は、2 段階の処理でスナップショットが作成されます。まず、パブリッシュされたオブジェクトのレプリケーション スクリプトとスキーマが含まれるスキーマ スナップショットが作成されます。ただしデータは含まれません。次に、スキーマ スナップショットからコピーしたスクリプトとスキーマが含まれるスナップショットと、サブスクリプションのパーティションに属するデータを使用して、各サブスクリプションが初期化されます。詳細については、「パラメータ化されたフィルタを使用したマージ パブリケーションのスナップショット」を参照してください。
スナップショットは、レプリケーションの種類やパブリケーションのアーティクルに応じて異なるファイルで構成されます。これらのファイルは、ディストリビュータの構成時に指定した既定のスナップショット フォルダか、パブリケーションを作成する際に指定した代替スナップショット フォルダにコピーされます。
レプリケーションの種類 |
通常のスナップショット ファイル |
---|---|
スナップショット レプリケーションまたはトランザクション レプリケーション |
スキーマ (.sch)、データ (.bcp)、制約とインデックス (.dri)、制約 (.idx)、トリガ (.trg) (サブスクライバの更新専用)、圧縮スナップショットファイル (.cab) |
マージ レプリケーション |
スキーマ (.sch)、データ (.bcp)、制約とインデックス (.dri)、トリガ (.trg)、システム テーブル データ (.sys)、競合テーブル (.cft)、圧縮スナップショットファイル (.cab) |
ある時点でスナップショットの転送が中断された場合、転送は自動的に再開され、既に転送が完了したファイルは再送されません。スナップショット エージェントの配信単位は、各パブリケーション アーティクルに対する bcp ファイルであるため、部分的に配信されたファイルは再度全体を配信する必要があります。しかし、スナップショットの再開機能を使うことで、転送されるデータ量が大幅に削減され、接続が不安定な場合でもタイムリーにスナップショットを配信できます。
スナップショット オプション
スナップショットを使用してサブスクリプションを初期化する際には、いくつかのオプションがあります。選択可能なオプションは次のとおりです。
既定のスナップショット フォルダを代替または追加する場所として、代替スナップショット フォルダの場所を指定できます。詳細については、「スナップショット フォルダの代替位置」を参照してください。
リムーバブル メディア上に格納するためや低速なネットワーク上で転送するための圧縮スナップショットを使用できます。詳細については、「圧縮スナップショット」を参照してください。
スナップショットを適用する前または後に Transact-SQL スクリプトを実行できます。詳細については、「スナップショット適用前および適用後のスクリプトの実行」を参照してください。
ファイル転送プロトコル (FTP) を使用してスナップショット ファイルを転送できます。詳細については、「FTP によるスナップショットの転送」を参照してください。