Condividi tramite


Procedura: Ottimizzazione dei filtri di riga con parametri (programmazione Transact-SQL della replica)

Quando si utilizzano filtri con parametri, è possibile controllare in che modo i filtri vengono elaborati dalla replica di tipo merge specificando l'opzione use partition groups o keep partition changes durante la creazione di una pubblicazione. Queste opzioni consentono di migliorare le prestazioni di sincronizzazione delle pubblicazioni con gli articoli filtrati tramite l'archiviazione di metadati aggiuntivi nel database di pubblicazione. È possibile controllare la modalità di condivisione dei dati tra i Sottoscrittori impostando l'opzione partition options durante la creazione di un articolo.

Per ulteriori informazioni su tali requisiti, vedere Filtri di riga con parametri. Per la definizione delle opzioni di filtraggio per @keep_partition_changes e @use_partition_groups, vedere sp_addmergepublication.

Per specificare le ottimizzazioni del filtro di merge durante la creazione di una nuova pubblicazione

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepublication. Specificare @publication e il valore true per uno dei parametri seguenti:

  2. Aggiungere un processo snapshot per la pubblicazione. Per ulteriori informazioni, vedere Procedura: Creazione di una pubblicazione (programmazione Transact-SQL della replica).

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergearticle specificando i parametri seguenti:

    • @publication: nome della pubblicazione ottenuto al passaggio 1.

    • @article: nome dell'articolo.

    • @source_object: oggetto di database da pubblicare.

    • @subset_filterclause: clausola di filtro con parametri facoltativa utilizzata per filtrare l'articolo in senso orizzontale.

    • @partition_options: opzioni delle partizioni per l'articolo filtrato.

  4. Ripetere il passaggio 3 per ogni articolo della pubblicazione.

  5. (Facoltativo) Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergefilter per definire un filtro di join tra due articoli. Per ulteriori informazioni, vedere Procedura: Definizione e modifica di un filtro join tra articoli di merge (programmazione Transact-SQL della replica).

Per visualizzare e modificare i comportamenti del filtro di merge per una pubblicazione esistente

  1. (Facoltativo) Nel database di pubblicazione del server di pubblicazione eseguire sp_helpmergepublication, specificando @publication. Si noti il valore di keep_partition_changes e use_partition_groups nel set di risultati.

  2. (Facoltativo) Nel database di pubblicazione del server di pubblicazione eseguire sp_changemergepublication. Specificare il valore use_partition_groups per @property e il valore true o false per @value.

  3. (Facoltativo) Nel database di pubblicazione del server di pubblicazione eseguire sp_changemergepublication. Specificare il valore keep_partition_changes per @property e il valore true o false per @value.

    [!NOTA]

    Quando si attiva keep_partition_changes, è necessario prima disattivare use_partition_groups e specificare il valore 1 per @force_reinit_subscription.

  4. (Facoltativo) Nel database di pubblicazione del server di pubblicazione eseguire sp_changemergearticle. Specificare il valore partition_options per @property e il valore appropriato per @value. Per le definizioni di queste opzioni di filtro, vedere sp_addmergearticle.

  5. (Facoltativo) Avviare l'agente snapshot per rigenerare lo snapshot se necessario. Per informazioni sulle modifiche necessarie per la generazione di un nuovo snapshot, vedere Modifica delle proprietà di pubblicazioni e articoli.