Snapshot per pubblicazioni di tipo merge con filtri con parametriSnapshots for Merge Publications with Parameterized Filters

Quando si utilizzano filtri di riga con parametri nelle pubblicazioni di tipo merge, ogni sottoscrizione con uno snapshot in due parti viene inizializzata dalla replica.When parameterized row filters are used in merge publications, replication initializes each subscription with a two-part snapshot. Viene innanzitutto creato uno snapshot dello schema contenente tutti gli oggetti necessari alla replica e lo schema degli oggetti pubblicati, ma non i dati.First, a schema snapshot is created that contains all objects required by replication and the schema of the published objects, but not the data. Ogni sottoscrizione viene quindi inizializzata con uno snapshot che include gli oggetti e lo schema dello snapshot dello schema e i dati appartenenti alla partizione della sottoscrizione.Then, each subscription is initialized with a snapshot that includes the objects and schema from the schema snapshot and the data that belongs to the subscription's partition. Se più di una sottoscrizione riceve una determinata partizione, ovvero riceve lo stesso schema e gli stessi dati, lo snapshot di tale partizione viene creato una sola volta. Dallo stesso snapshot vengono inizializzate più sottoscrizioni.If more than one subscription receives a given partition (in other words, they receive the same schema and data), the snapshot for that partition is created only once; multiple subscriptions are initialized from the same snapshot. Per ulteriori informazioni sui filtri di riga con parametri, vedere Parameterized Row Filters.For more information about parameterized row filters, see Parameterized Row Filters.

È possibile creare snapshot per pubblicazioni con filtri con parametri in tre modi diversi:You can create snapshots for publications with parameterized filters in one of three ways:

  • Pregenerare uno snapshot per ogni partizione.Pre-generate snapshots for each partition. Questa opzione consente di controllare il momento in cui vengono generati gli snapshot.Using this option allows you to control when snapshots are generated.

    È inoltre possibile aggiornare gli snapshot in base a una pianificazione.You can also choose to have the snapshots refreshed on a schedule. I nuovi Sottoscrittori che sottoscrivono una partizione per cui è stato creato uno snapshot riceveranno uno snapshot aggiornato.New Subscribers that subscribe to a partition for which a snapshot has been created will receive an up-to-date snapshot.

  • Consentire ai Sottoscrittori di richiedere la generazione e l'applicazione dello snapshot alla prima sincronizzazione.Allow Subscribers to request snapshot generation and application the first time they synchronize. Questa opzione consente ai nuovi Sottoscrittori di eseguire la sincronizzazione senza l'intervento di un amministratore. Per consentire la generazione dello snapshot, è necessario che SQL ServerSQL Server Agent sia in esecuzione nel server di pubblicazione.Using this option allows new Subscribers to synchronize without requiring intervention from an administrator ( SQL ServerSQL Server Agent must be running at the Publisher to allow the snapshot to be generated).

    Nota

    Se il filtro di uno o più articoli nella pubblicazione restituisce partizioni non sovrapposte univoche per ogni sottoscrizione, i metadati vengono eliminati a ogni esecuzione dell'agente di merge.If the filtering for one or more articles in the publication yields non-overlapping partitions that are unique for each subscription, metadata is cleaned up whenever the Merge Agent runs. Lo snapshot partizionato scade quindi più rapidamente.This means that the partitioned snapshot expires more quickly. Quando si utilizza questa opzione, è consigliabile consentire ai Sottoscrittori di inizializzare la generazione e il recapito dello snapshot.When using this option, you should consider allowing Subscribers to initiate snapshot generation and delivery. Per ulteriori informazioni sulle opzioni di filtro, vedere Parameterized Row Filters.For more information about filtering options, see Parameterized Row Filters.

  • Generare manualmente uno snapshot per ogni Sottoscrittore con l'agente snapshot.Manually generate a snapshot for each Subscriber with the Snapshot Agent. Il Sottoscrittore deve quindi indicare il percorso dello snapshot all'agente di merge, in modo che sia possibile recuperare e applicare lo snapshot corretto.The Subscriber must then provide the snapshot location to the Merge Agent, so it can retrieve and apply the correct snapshot.

    Nota

    Questa opzione è supportata per garantire la compatibilità con le versioni precedenti e non consente le condivisioni snapshot FTP.This option is supported for backward compatibility and does not allow FTP snapshot shares.

    Il metodo più flessibile consiste nell'utilizzo di una combinazione di opzioni snapshot pregenerate e richieste dal Sottoscrittore: gli snapshot vengono pregenerati e aggiornati in base a una pianificazione, in genere durante i periodi di minore attività, ma un Sottoscrittore può generare il proprio snapshot nel caso in cui venga creata una sottoscrizione per cui è necessaria una nuova partizione.The most flexible approach is to use a combination of pre-generated and Subscriber-requested snapshot options: snapshots are pre-generated and refreshed on a scheduled basis (usually during off-peak times), but a Subscriber can generate its own snapshot if a subscription that requires a new partition is created.

    Considerare Adventure WorksAdventure Works, che dispone di forza lavoro mobile per la distribuzione delle scorte ai singoli negozi.Consider Adventure WorksAdventure Works, which has a mobile work force that delivers inventory to individual stores. Ogni venditore riceve una sottoscrizione basata sul proprio account di accesso, che consente di recuperare i dati relativi ai negozi serviti.Each sales person receives a subscription based on their login, which retrieves the data for the stores they service. L'amministratore decide di pregenerare gli snapshot e di aggiornarli ogni domenica.The administrator chooses to pre-generate snapshots and refresh them every Sunday. Occasionalmente viene aggiunto al sistema un nuovo utente per il quale sono necessari i dati per una partizione per cui non è disponibile alcuno snapshot.Occasionally a new user is added to the system and needs data for a partition that does not have a snapshot available. L'amministratore decide inoltre di consentire gli snapshot inizializzati dal Sottoscrittore, per evitare che si verifichi una situazione in cui un Sottoscrittore non può sottoscrivere la pubblicazione in quanto lo snapshot non è ancora disponibile.The administrator also chooses to allow Subscriber-initiated snapshots to avoid the situation where a Subscriber cannot subscribe to the publication because the snapshot is not yet available. Quando il nuovo Sottoscrittore effettua la prima connessione, lo snapshot per la partizione specificata viene generato e viene applicato al Sottoscrittore. Per consentire la generazione dello snapshot, è necessario che SQL ServerSQL Server Agent sia in esecuzione nel server di pubblicazione.When the new Subscriber connects for the first time, the snapshot is generated for the specified partition and applied at the Subscriber ( SQL ServerSQL Server Agent must be running at the Publisher to allow the snapshot to be generated).

    Per creare uno snapshot per una pubblicazione con filtri con parametri, vedere Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri.To create a snapshot for a publication with parameterized filters, see Create a Snapshot for a Merge Publication with Parameterized Filters.

Impostazioni di sicurezza per l'agente snapshotSecurity Settings for the Snapshot Agent

L'agente snapshot crea gli snapshot per ogni partizione.The Snapshot Agent creates snapshots for each partition. Per gli snapshot pregenerati e per quelli richiesti da un Sottoscrittore, viene eseguito l'agente e vengono effettuate le connessioni con le credenziali specificate al momento della creazione del processo dell'agente snapshot. Tale processo viene creato tramite la Creazione guidata nuova pubblicazione o sp_addpublication_snapshot.For pre-generated snapshots and snapshots requested by a Subscriber, the agent runs and makes connections under the credentials that were specified when the snapshot agent job for the publication was created (the job is created by the New Publication Wizard or sp_addpublication_snapshot). Per modificare le credenziali, utilizzare sp_changedynamicsnapshot_job.To change the credentials, use sp_changedynamicsnapshot_job. Per altre informazioni, vedere sp_changedynamicsnapshot_job (Transact-SQL).For more information, see sp_changedynamicsnapshot_job (Transact-SQL).

Vedere ancheSee Also

Inizializzare una sottoscrizione con uno snapshot Initialize a Subscription with a Snapshot
Parameterized Row Filters Parameterized Row Filters
Proteggere la cartella snapshot Secure the Snapshot Folder