Aggiungi join o Modifica joinAdd or Edit Join

Le finestre di dialogo Aggiungi join e Modifica join consentono di aggiungere e modificare filtri join per le pubblicazioni di tipo merge.The Add Join and Edit Join dialog boxes allow you to add and edit join filters for merge publications.

Nota

Per modificare un filtro in una pubblicazione esistente, è necessario un nuovo snapshot per la pubblicazione.Editing a filter in an existing publication requires a new snapshot for the publication. Se la pubblicazione dispone di sottoscrizioni, queste ultime devono essere reinizializzate.If a publication has subscriptions, the subscriptions must be reinitialized. Per altre informazioni sulle modifiche delle proprietà, vedere Modificare le proprietà di pubblicazioni e articoli.For more information about property changes, see Change Publication and Article Properties.

Un filtro di join consente di filtrare una tabella in base al tipo di filtro applicato a una tabella correlata nella pubblicazioneA join filter allows a table to be filtered based on how a related table in the publication is filtered. Una tabella padre viene in genere filtrata utilizzando un filtro di riga con parametri. In seguito uno o più filtri join vengono definiti in modo molto simile alla definizione di un join tra tabelle.Typically a parent table is filtered using a parameterized row filter; then one or more join filters are defined in much the same way that you define a join between tables. I filtri join estendono il filtro di riga in modo che i dati delle tabelle correlate vengano replicati solo se soddisfano la clausola di filtro join.The join filters extend the row filter so that the data in the related tables is replicated only if it matches the join filter clause.

I filtri join seguono in genere le relazioni tra chiavi primarie e chiavi esterne definite per le tabelle alle quali vengono applicati, ma non sono necessariamente limitati a tali relazioni.Join filters typically follow the primary key/foreign key relationships defined for the tables to which they are applied, but they are not limited strictly to primary key/foreign key relationships. Il filtro join può essere basato su qualsiasi logica che confronti i dati correlati in due tabelle di articoli.The join filter can be based on any logic that compares related data in two article tables.

Importante

I filtri join possono includere un numero illimitato di tabelle, ma i filtri con un numero elevato di tabelle possono influire negativamente sulle prestazioni durante l'elaborazione di processi merge.Join Filters can involve an unlimited number of tables, but filters with a large number of tables can impact performance during merge processing. Se si generano filtri di join di cinque o più tabelle, considerare altre soluzioni: non filtrare tabelle piccole, non soggette a modifica o tabelle che fungono principalmente da tabelle di ricerca.If you are generating join filters of five or more tables, consider other solutions: do not filter tables that are small, not subject to change, or are primarily lookup tables. Utilizzare filtri join solo tra tabelle che devono essere partizionate tra Sottoscrittori.Use join filters only between tables that must be partitioned among Subscribers.

OpzioniOptions

In questa finestra di dialogo la procedura di creazione di un filtro join tra due tabelle è suddivisa in tre fasi.This dialog box involves a three-step process to create a join filter between two tables. Per la creazione di più di un filtro join è necessario utilizzare più volte la finestra di dialogo.Creating more than one join filter requires more than one pass through the dialog box.

  1. Controllare la tabella filtrata e selezionare la tabella unita in joinVerify filtered table and select the joined table

    • Se si aggiunge un nuovo join, verificare che la tabella contenuta nella casella di testo Tabella filtrata sia corretta. In caso contrario, fare clic su Annulla, selezionare la tabella corretta nella pagina Filtro righe tabella e quindi fare clic su Aggiungi join per tornare a questa finestra di dialogo.If you are adding a new join, verify that the table in the Filtered table text box is correct (if it is not correct, click Cancel, select the correct table on the Filter Table Rows page, and click Add Join to return to this dialog box). Selezionare quindi una tabella nell'elenco a discesa Tabella unita in join .Then select a table from the Joined table drop-down list box.

    • Se si modifica un join esistente, i nomi delle tabelle saranno già specificati e non potranno essere modificati.If you are editing an existing join, the table names will be specified already and cannot be changed. Per modificare le tabelle specificate nel join è necessario eliminare il filtro join esistente nella pagina Filtro righe tabella e creare un nuovo join tra tabelle diverse.To change the tables involved in the join, you must delete the existing join filter on the Filter Table Rows page and create a new join between different tables.

  2. Creare l'istruzione per il joinCreate the join statement

    • Se si aggiunge un nuovo join, selezionare l'opzione Per creare l'istruzione verrà utilizzato il generatore o l'opzione L'istruzione per il join verrà scritta manualmente.If you are adding a new join, select either Use the builder to create the statement or Write the join statement manually. Se si inizia a scrivere manualmente il join non è possibile utilizzare il generatore.If you begin writing the join manually, you cannot use the builder.

      Se si sceglie di utilizzare il generatore, utilizzare le colonne della griglia, ovveroCongiunzione, Colonna tabella filtrata, Operatoree Colonna tabella unita in join, per compilare un'istruzione per il join.If you select to use the builder, use the columns in the grid (Conjunction, Filtered table column, Operator, and Joined table column) to build a join statement. Ogni colonna della griglia contiene un elenco a discesa che consente di selezionare due colonne e un operatore, ovvero=, <>, <=, <, >=, >, like.Each column in the grid contains a drop-down list box, allowing you to select two columns and an operator (=, <>, <=, <, >=, >, like). I risultati vengono visualizzati nell'area di testo Anteprima .The results are displayed in the Preview text area. Se il join include più di una coppia di colonne, selezionare una congiunzione, ovveroAND o OR, nella colonna Congiunzione e quindi digitare altre due colonne e un altro operatore.If the join involves more than one pair of columns, select a conjunction (AND or OR) from the Conjunction column, and then enter two more columns and another operator.

      Se si sceglie di scrivere manualmente l'istruzione per il join, digitarla nell'area di testo Istruzione per il join .If you select to write the statement manually, write the join statement in the Join statement text area. Utilizzare le caselle di riepilogo Colonne tabella filtrata e Colonne tabella unita in join per trascinare le colonne selezionate nell'area di testo Istruzione per il join .Use the Filtered table columns list box and Joined table columns list box to drag and drop columns to the Join statement text area.

    • Se si modifica un join esistente è necessario apportare manualmente le modifiche.If you are editing an existing join, you must make edits manually.

  3. Specificare le opzioni del joinSpecify join options

    • Se la colonna che si unisce in join alla tabella filtrata è univoca, selezionare Chiave univoca.If the column on which you join in the filtered table is unique, select Unique key. Se la colonna è univoca, per il processo di merge sono disponibili speciali procedure di ottimizzazione delle prestazioni.The merge process has special performance optimizations available if the column is unique.

      Attenzione

      Selezionando questa opzione si indica che la relazione tra la tabella padre e le tabelle figlio in un filtro join è uno-a-uno o uno-a-molti.Selecting this option indicates that the relationship between the child and parent tables in a join filter is one to one or one to many. Selezionare questa opzione solo se la colonna unita in join nella tabella padre contiene un vincolo che garantisce l'unicità.Only select this option if you have a constraint on the joining column in the parent table that guarantees uniqueness. Se l'opzione è impostata in modo errato può impedire la convergenza dei dati.If the option is set incorrectly, non-convergence of data can occur.

    • Solo MicrosoftMicrosoft SQL Server 2005SQL Server 2005 e versioni successive. and later versions only. Per impostazione predefinita, durante la sincronizzazione la replica di tipo merge elabora le modifiche riga per riga.By default, merge replication processes changes on a row-by-row basis during synchronization. Per fare in modo che le modifiche correlate vengano elaborate come singola unità, selezionare l'opzione Record logico.To have related changes processed as a unit, select Logical record. Questa opzione è disponibile solo se sono soddisfatti i requisiti relativi all'utilizzo dei record logici negli articoli e nelle pubblicazioni.This option is available only if the article and publication requirements for using logical records are met. Per altre informazioni vedere la sezione "Considerazioni sull'utilizzo di record logici" in Raggruppare modifiche alle righe correlate con record logici.For more information, see the section "Considerations for Using Logical Records" in Group Changes to Related Rows with Logical Records.

    Dopo aver aggiunto o modificato un filtro, fare clic su OK per salvare le modifiche e chiudere la finestra di dialogo.After you have added or edited a filter, click OK to save changes and close the dialog box. Il filtro specificato viene analizzato ed eseguito sulla tabella nella clausola SELECT.The filter you specified is parsed and run against the table in the SELECT clause. Se nell'istruzione di filtro sono presenti errori di sintassi o di altro tipo, verrà visualizzato un apposito messaggio di notifica e sarà possibile modificare l'istruzione.If the filter statement contains syntax errors or other problems, you will be notified and will be able to edit the filter statement.

Vedere ancheSee Also

Create a Publication Create a Publication
Visualizzare e modificare le proprietà della pubblicazione View and Modify Publication Properties
Filtrare i dati pubblicati Filter Published Data
Filtri di join Join Filters
Parameterized Row Filters Parameterized Row Filters
Pubblicare dati e oggetti di database Publish Data and Database Objects