Ottimizzazione dei filtri di riga con parametri

Si applica a:SQL Server

Questo argomento descrive come ottimizzare i filtri di riga con parametri in SQL Server usando SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Consigli

  • 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 altre informazioni su tali requisiti, vedere Filtri di riga con parametri.

    Con i Sottoscrittori compatti SQL Server CompactSQL, keep_partition_changes deve essere impostato su true per assicurarsi che le eliminazioni vengano propagate correttamente. Se impostato su false, nel Sottoscrittore potrebbero essere presenti più righe rispetto al previsto.

Utilizzo di SQL Server Management Studio

È possibile utilizzare le impostazioni seguenti per ottimizzare i filtri di riga con parametri:

Partition Options
Impostare questa opzione nella pagina Proprietà della finestra di dialogo Proprietà articolo - <Articolo> o nella finestra di dialogo Aggiungi filtro. Entrambe le finestre di dialogo sono disponibili nella Creazione guidata nuova pubblicazione e nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. La finestra di dialogo Proprietà articolo - <Articolo> consente di specificare altri valori per questa opzione, che non sono disponibili nella finestra di dialogo Aggiungi filtro.

Pre-calcola partizioni
Per impostazione predefinita, questa opzione viene impostata su True se gli articoli nella pubblicazione rispondono a una serie di requisiti. Per altre informazioni su questi requisiti, vedere Ottimizzare le prestazioni dei filtri con parametri con le partizioni pre-calcolate. Modificare questa opzione nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.

Ottimizza sincronizzazione
Questa opzione deve essere impostata su True solo se Pre-calcola partizioni viene impostata su False. Impostare questa opzione nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.

Per altre informazioni sull'uso della Creazione guidata nuova pubblicazione e sull'accesso alla finestra di dialogo Proprietà pubblicazione - <Pubblicazione>, vedere Creare una pubblicazione e Visualizzare e modificare le proprietà della pubblicazione.

Per impostare le opzioni delle partizioni nella finestra di dialogo Aggiungi filtro o Modifica filtro

  1. Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su Aggiungi e quindi su Aggiungi filtro.

  2. Creare un filtro con parametri. Per altre informazioni, vedere Definizione e modifica di un filtro di riga con parametri per un articolo di merge.

  3. Selezionare l'opzione corrispondente alla modalità desiderata di condivisione dei dati tra i Sottoscrittori:

    • Una riga di questa tabella verrà inviata a più sottoscrizioni

    • Una riga di questa tabella verrà inviata a una sola sottoscrizione

    Selezionando Una riga di questa tabella verrà inviata a una sola sottoscrizioneè possibile ottimizzare le prestazioni della replica di tipo merge archiviando ed elaborando una minore quantità di metadati. È tuttavia necessario garantire che i dati vengano partizionati in modo da non consentire la replica di una riga in più Sottoscrittori. Per altre informazioni, vedere la sezione relativa all'impostazione delle opzioni delle partizioni nell'argomento Filtri di riga con parametri.

  4. Seleziona OK.

  5. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.

Per impostare Opzioni partizioni nella finestra di dialogo Proprietà articolo - <Articolo>

  1. Nella pagina Articoli della Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare una tabella e quindi fare clic su Proprietà articolo.

  2. Fare clic su Imposta proprietà dell'articolo di tabelle evidenziato o su Imposta proprietà di tutti gli articoli di tabelle.

  3. Nella sezione Oggetto di destinazione della scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo> specificare uno dei seguenti valori per Opzioni partizioni:

    • Sovrapposte

    • Sovrapposte, non ammesse modifiche dei dati fuori partizione

    • Non sovrapposte, sottoscrizione unica

    • Non sovrapposte, condivise dalle sottoscrizioni

    Per ulteriori informazioni su queste opzioni e sulla loro relazione con le opzioni disponibili nelle finestre di dialogo Aggiungi filtro e Modifica filtro , vedere la sezione relativa all'impostazione delle opzioni partizioni nell'argomento i filtri di riga con parametri.

  4. Seleziona OK.

  5. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.

Per impostare Pre-calcola partizioni

  1. Nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare un valore per l'opzione Pre-calcola partizioni. Questa proprietà è in sola lettura se:

    • La pubblicazione non soddisfa i requisiti delle partizioni pre-calcolate.

    • Non è ancora stato generato lo snapshot per la pubblicazione. In questo caso, l'opzione visualizza il valore Imposta automaticamente alla creazione di uno snapshot.

  2. Seleziona OK.

Per impostare Ottimizza sincronizzazione

  1. Nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare il valore True per l'opzione Ottimizza sincronizzazione.

  2. Seleziona OK.

Utilizzo di Transact-SQL

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 altre informazioni, vedere Creare una pubblicazione.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergearticlespecificando 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 usata 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 altre informazioni, vedere Definizione e modifica di un filtro di join tra articoli di merge.

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. Tenere presente 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 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 true o false per @value.

    Nota

    Quando si abilita keep_partition_changes, è necessario prima disabilitare 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 Modificare le proprietà di pubblicazioni e articoli.

Vedi anche

Generare automaticamente un set di filtri di join tra gli articoli di merge (SQL Server Management Studio)
Definire e modificare un filtro di riga con parametri per un articolo di merge
Filtri di riga con parametri