新しいパブリケーションのスナップショットを使用したサブスクリプションの初期化
適用対象: SQL Server Azure SQL Managed Instance
この記事では、レプリケーション パブリケーションが初期化されるときに発生する処理について説明します。 初期スナップショットは、サブスクライバーに適用されます。
新しいパブリケーションのスナップショット
既定では、パブリケーションの作成後にスナップショットがキャプチャされます。 スナップショットはスナップショット フォルダーにコピーされます。 この既定の動作は、パブリケーションの新規作成ウィザードを使用して作成されたマージ パブリケーションに対して発生します。
スナップショットがサブスクライバーに適用される
新しいスナップショットは、サブスクライバーに適用されます。 適用は、サブスクリプションの初期同期中に行われます。 適用するエージェントは、パブリケーションの種類によって異なります。
"トランザクション" パブリケーションと "スナップショット" パブリケーションの場合:
- ディストリビューション エージェント。
"マージ" パブリケーションの場合:
- マージ エージェント。
パブリケーションの種類
次の表は、パブリケーションの種類ごとのスナップショットの内容を示しています。
スナップショットの対象となるパブリケーションの種類 | スナップショットの内容 |
---|---|
|
スナップショットの作成および適用を参照。 |
|
パラメーター化されたフィルターを使用したマージ パブリケーションのスナップショットを参照。 |
パラメーター化されたフィルターを使用するマージ パブリケーションを使用した 2 部構成のプロセス
パラメーター化されたフィルターを使用するマージ パブリケーションの場合、スナップショットは、2 部構成のプロセスを使用して作成されます。
スキーマ スナップショットが作成されます。これには次の項目が含まれています。
- レプリケーション スクリプト。
- パブリッシュされたオブジェクトのスキーマ。
- (ただし、データはありません)。
各サブスクリプションはその後、スナップショットを使用して初期化されます。 スナップショットには、次の項目が含まれます。
- スキーマ スナップショットからコピーされたスクリプトとスキーマ。
- サブスクリプションのパーティションに属するデータ。
レプリケーションの種類
スナップショットに含まれるファイルの種類は、レプリケーションの種類やパブリケーションのアーティクルによって異なります。
レプリケーションの種類 | 通常のスナップショット ファイル |
---|---|
スナップショット レプリケーション、または トランザクション レプリケーション |
• スキーマ (.sch) • データ (.bcp) • 制約とインデックス (.dri) • 圧縮スナップショット ファイル (.cab) • トリガー (. タグ)、サブスクライバーの更新のみ • 制約 (idx) |
マージ レプリケーション | • スキーマ (.sch) • データ (.bcp) • 制約とインデックス (.dri) • 圧縮スナップショット ファイル (.cab) • トリガー (.trg) • システム テーブル データ (.sys) • 競合テーブル (cft) |
[スナップショット フォルダー]
ファイルは、既定の "スナップショット フォルダー"、またはスナップショットの "代替フォルダー" にコピーされて転送されます。
スナップショット フォルダーは、ディストリビューターの構成時に指定されます。 代替フォルダーは、パブリケーションの作成時に指定されます。
中断後に転送を再開する
信頼性の低い接続によって転送が中断された場合、スナップショット フォルダーへのファイルの転送は自動的に再開されます。
効率性のため、中断の前に完全に転送されたファイルは再送信されません。
スナップショット オプション
スナップショットを使用してサブスクリプションを初期化するときに使用できるオプションがいくつかあります。 次のことを実行できます。
既定のスナップショット フォルダーを代替または追加する場所として、代替スナップショット フォルダーの場所を指定できます。 詳細については、スナップショット オプションの変更に関する記事を参照してください。
リムーバブル メディア上に格納するためや低速なネットワーク上で転送するための圧縮スナップショットを使用できます。 詳細については、「 Compressed Snapshots」を参照してください。
スナップショットを適用する前または後に Transact-SQL スクリプトを実行できます。 詳細については、「スナップショットが適用される前および後のスクリプトの実行」を参照してください。
ファイル転送プロトコル (FTP) を使用してスナップショット ファイルを転送できます。 詳細については、「FTP によるスナップショットの転送」を参照してください。