パブリケーションが作成されると、通常、初期スナップショットが作成され、スナップショット フォルダーにコピーされます (これは、パブリケーションの新規作成ウィザードで作成されたマージ パブリケーションの既定で発生します)。 その後、サブスクリプションの初期同期中にディストリビューション エージェント (トランザクション パブリケーションとスナップショット パブリケーションの場合) またはマージ エージェント (マージ パブリケーションの場合) によってサブスクライバーに適用されます。 スナップショット プロセスは、パブリケーションの種類によって異なります。
スナップショットがパラメーター化されたフィルターを使用しないスナップショット パブリケーション、トランザクション パブリケーション、またはマージ パブリケーションの場合、スナップショットには、一括コピー プログラム (bcp) ファイル内のスキーマとデータ、および制約、拡張プロパティ、インデックス、トリガー、およびレプリケーションに必要なシステム テーブルが含まれます。 スナップショットの作成と適用の詳細については、「スナップショットの 作成と適用」を参照してください。
パラメーター化されたフィルターを使用するマージ パブリケーションのスナップショットの場合、スナップショットは 2 部構成のプロセスを使用して作成されます。 まず、パブリッシュされたオブジェクトのレプリケーション スクリプトとスキーマを含むスキーマ スナップショットが作成されますが、データは含まれません。 その後、各サブスクリプションは、スキーマ スナップショットからコピーされたスクリプトとスキーマ、およびサブスクリプションのパーティションに属するデータを含むスナップショットで初期化されます。 詳細については、「 パラメーター化されたフィルターを使用したマージ パブリケーションのスナップショット」を参照してください。
スナップショットは、レプリケーションの種類とパブリケーション内のアーティクルに応じて異なるファイルで構成されます。 これらのファイルは、ディストリビューターの構成時に指定された既定のスナップショット フォルダー、またはパブリケーションの作成時に指定された代替スナップショット フォルダーにコピーされます。
レプリケーションの種類 | 一般的なスナップショット ファイル |
---|---|
スナップショット レプリケーションまたはトランザクション レプリケーション | schema (.sch);data (.bcp);制約とインデックス (.dri);constraints (.idx);triggers (.trg):サブスクライバーのみを更新します。圧縮スナップショット ファイル (.cab)。 |
マージ レプリケーション | schema (.sch); data (.bcp); 制約とインデックス (.dri); トリガー (.trg); システムテーブルデータ (.sys); コンフリクトテーブル (.cft); 圧縮スナップショットファイル (.cab)。 |
スナップショットの転送が中断された場合は、自動的に再開され、既に完全に転送されたファイルは再送信されません。 スナップショット エージェントの配信単位は各パブリケーション アーティクルの bcp ファイルであるため、部分的に配信されるファイルは完全に再配信する必要があります。 ただし、スナップショットを再開すると、送信されるデータの量が大幅に削減され、接続が信頼性が低い場合でも、タイムリーなスナップショット配信が保証されます。
スナップショット オプション
スナップショットを使用してサブスクリプションを初期化するときに使用できるオプションは多数あります。 次のようにすることができます。
既定のスナップショット フォルダーの場所ではなく、または既定のスナップショット フォルダーの場所に加えて、代替スナップショット フォルダーの場所を指定します。 詳細については、「 代替スナップショット フォルダーの場所」を参照してください。
リムーバブル メディア上のストレージまたは低速ネットワーク経由での転送用にスナップショットを圧縮します。 詳細については、「 圧縮スナップショット」を参照してください。
スナップショットが適用される前または後に、Transact-SQL スクリプトを実行します。 詳細については、「スナップショットが 適用される前と後のスクリプトの実行」を参照してください。
ファイル転送プロトコル (FTP) を使用してスナップショット ファイルを転送します。 詳細については、「FTP によるスナップショットの転送」を参照してください。