Condividi tramite


Procedura: Generazione automatica di un insieme di filtri join tra gli articoli di merge (SQL Server Management Studio)

Generare automaticamente un insieme di filtri join nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per ulteriori informazioni sull'utilizzo della procedura guidata e sull'accesso a questa finestra di dialogo, vedere Procedura: Creazione di una pubblicazione e definizione di articoli (SQL Server Management Studio) e Procedura: Visualizzazione e modifica delle proprietà delle pubblicazioni e degli articoli (SQL Server Management Studio).

Nota

Se si genera automaticamente un insieme di filtri join nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione> in seguito all'inizializzazione delle sottoscrizioni della pubblicazione, sarà necessario generare un nuovo snapshot e reinizializzare tutte le sottoscrizioni dopo aver apportato le modifiche. Per ulteriori informazioni sui requisiti per la modifica delle proprietà, vedere Modifica delle proprietà di pubblicazioni e articoli.

È possibile creare manualmente i filtri join per un insieme di tabelle o generarli automaticamente durante la replica in base alle relazioni definite nelle tabelle tra la chiave esterna e la chiave primaria. Per ulteriori informazioni sulla creazione manuale di filtri join, vedere Procedura: Definizione e modifica di un filtro join tra articoli di merge (SQL Server Management Studio).

Per generare automaticamente un insieme di filtri join tra articoli di merge

  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, quindi su Genera filtri automaticamente.

    Nota

    La generazione automatica dei filtri comporta l'eliminazione dei filtri di riga o dei filtri join esistenti nella pubblicazione. È possibile aggiungere filtri dopo averne generato automaticamente un insieme.

  2. Per creare un filtro di riga seguire la procedura della finestra di dialogo Genera filtri. Il filtro di riga viene quindi esteso alle tabelle relative alla tabella filtrata mediante le relazioni tra chiave primaria e chiave esterna.

    1. Selezionare una tabella da filtrare dall'elenco a discesa.

    2. Creare un'istruzione per il filtro nella casella di testo Istruzione per il filtro. È possibile digitare direttamente nell'area di testo, nonché trascinare colonne dalla casella di riepilogo Colonne.

      Nell'area di testo Istruzione per il filtro è incluso il testo predefinito con il formato:

      SELECT <published_columns> FROM [tableowner].[tablename] WHERE
      

      Non è possibile modificare il testo predefinito. Digitare la clausola di filtro per un filtro di riga statico o per un filtro di riga con parametri dopo la parola chiave WHERE utilizzando la sintassi SQL standard. La clausola di filtro completa per un filtro di riga con parametri è simile alla seguente:

      SELECT <published_columns> FROM [HumanResources].[Employee] WHERE LoginID = SUSER_SNAME()
      

      Per la clausola WHERE è necessario utilizzare un nome costituito da due parti, in quanto i nomi a tre e quattro parti non sono supportati.

    3. Specificare le opzioni di filtro.

      Selezionare l'opzione corrispondente alla modalità di condivisione dei dati tra i Sottoscrittori, ovvero Una riga di questa tabella verrà inviata a più sottoscrizioni o Una riga di questa tabella verrà inviata a una sola sottoscrizione. Se si seleziona Una riga di questa tabella verrà inviata a una sola sottoscrizione, sarà possibile ottimizzare le prestazioni della replica di tipo merge archiviando ed elaborando un quantità inferiore di metadati. È tuttavia necessario verificare che i dati siano partizionati in modo da non poter replicare una riga in più sottoscrittori. Per ulteriori informazioni, vedere la sezione relativa all'impostazione delle opzioni di partizionamento nell'argomento Filtri di riga con parametri.

  3. Fare clic su OK.

    Il filtro specificato viene analizzato ed eseguito sulla tabella nella clausola SELECT. Se l'istruzione per il filtro contiene errori di sintassi o altri problemi, verrà visualizzata una notifica e sarà possibile procedere alla relativa modifica.

    Al termine dell'analisi dell'istruzione, i filtri join necessari vengono creati e visualizzati dalla replica nel riquadro Tabelle filtrate della pagina Filtro righe tabella o Filtra righe. Se i filtri vengono generati mediante la Creazione guidata nuova pubblicazione e non è stato ancora configurato il server di distribuzione per il server di pubblicazione sul quale viene eseguita questa procedura guidata, verrà richiesto di procedere a tale configurazione.

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

Per modificare un filtro generato automaticamente

  1. Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare un filtro nel riquadro Tabelle filtrate e fare clic su Modifica.

  2. Nella finestra di dialogo Modifica filtro o Modifica join modificare il filtro.

  3. Fare clic su OK.

Per eliminare un filtro generato automaticamente

  • Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare un filtro nel riquadro Tabelle filtrate e fare clic su Elimina.