Lezione 1: Pubblicazione dei dati tramite la replica di tipo mergeLesson 1: Publishing Data Using Merge Replication

In questa lezione verrà creata una pubblicazione di tipo merge con SQL Server Management StudioSQL Server Management Studio per pubblicare un subset delle tabelle Employee, SalesOrderHeadere SalesOrderDetail nel database di esempio AdventureWorks2012AdventureWorks2012 .In this lesson, you will create a merge publication using SQL Server Management StudioSQL Server Management Studio to publish a subset of the Employee, SalesOrderHeader, and SalesOrderDetail tables in the AdventureWorks2012AdventureWorks2012 sample database. Queste tabelle vengono filtrate usando filtri di riga con parametri in modo che ogni sottoscrizione contenga una partizione univoca dei dati.These tables are filtered with parameterized row filters so that each subscription contains a unique partition of the data. Verrà inoltre aggiunto l'account di accesso di SQL ServerSQL Server usato dall'agente di merge all'elenco di accesso alla pubblicazione.You will also add the SQL ServerSQL Server login used by the Merge Agent to the publication access list (PAL). Per eseguire questa esercitazione è necessario avere completato l'esercitazione precedente Preparazione del server per la replica.This tutorial requires that you have completed the previous tutorial, Preparing the Server for Replication.

Per creare una pubblicazione e definire articoliTo create a publication and define articles

  1. Connettersi al server di pubblicazione in SQL Server Management StudioSQL Server Management Studio, quindi espandere il nodo del server.Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, and then expand the server node.

  2. Espandere la cartella Replica , fare clic con il pulsante destro del mouse su Pubblicazioni localie quindi scegliere Nuova pubblicazione.Expand the Replication folder, right-click Local Publications, and click New Publication.

    Verrà avviata la Creazione guidata nuova pubblicazione.The Publication Configuration Wizard launches.

  3. Nella pagina Database di pubblicazione selezionare AdventureWorks2012AdventureWorks2012e quindi fare clic su Avanti.On the Publication Database page, select AdventureWorks2012AdventureWorks2012, and then click Next.

  4. Nella pagina Tipo di pubblicazione selezionare Pubblicazione di tipo mergee quindi fare clic su Avanti.On the Publication Type page, select Merge publication, and then click Next.

  5. Nella pagina Tipo di Sottoscrittore verificare che sia selezionato solo SQL Server 2008SQL Server 2008 o versione successiva, quindi fare clic su Avanti.On the Subscriber Types page, ensure that only SQL Server 2008SQL Server 2008 or later is selected, and then click Next.

  6. Nella pagina Articoli espandere il nodo Tabelle , selezionare SalesOrderHeader e SalesOrderDetail, espandere Employee, selezionare EmployeeID o LoginIDe quindi fare clic su Avanti.On the Articles page, expand the Tables node, select SalesOrderHeader and SalesOrderDetail, then expand Employee, select EmployeeID or LoginID, and then click Next.

    Suggerimento

    Le colonne necessarie aggiuntive sono selezionate automaticamente.Additional required columns are automatically selected. Selezionare tutte le colonne selezionate automaticamente e visualizzare la nota sotto l'elenco Oggetti da pubblicare per una spiegazione sul motivo per cui la colonna è necessaria.Select any of the automatically selected columns and view the note below the Objects to publish list for an explanation why the column is required.

  7. Nella pagina Filtro righe tabella fare clic su Aggiungi e quindi su Aggiungi filtro.On the Filter Table Rows page, click Add and then click Add Filter.

  8. Nella finestra di dialogo Aggiungi filtro selezionare Employee (HumanResources) in Selezionare la tabella da filtrare, fare clic sulla colonna LoginID , fare clic sulla freccia destra per aggiungere la colonna alla clausola WHERE della query di filtro, quindi modificare la clausola WHERE come segue:In the Add Filter dialog box, select Employee (HumanResources) in Select the table to filter, click the LoginID column, click the right arrow to add the column to the WHERE clause of the filter query, and modify the WHERE clause as follows:

    WHERE [LoginID] = HOST_NAME()  
    
  9. Selezionare Una riga di questa tabella verrà inviata a una sola sottoscrizionee quindi fare clic su OK.Click A row from this table will go to only one subscription, and click OK.

  10. Nella pagina Filtro righe tabella fare clic su Employee (Human Resources), selezionare Aggiungi , quindi scegliere Aggiungi join per estendere il filtro selezionato.On the Filter Table Rows page, click Employee (Human Resources), click Add, and then click Add Join to Extend the Selected Filter.

  11. Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderHeader in Tabella unita in join, selezionare L'istruzione per il join verrà scritta manualmentee quindi completare l'istruzione per il join come segue:In the Add Join dialog box, select Sales.SalesOrderHeader under Joined table, click Write the join statement manually, and complete the join statement as follows:

    ON Employee.EmployeeID = SalesOrderHeader.SalesPersonID  
    
  12. In Specificare le opzioni del joinselezionare Chiave univocae quindi fare clic su OK.In Specify join options, select Unique key, and then click OK.

  13. Nella pagina Filtro righe tabella fare clic su SalesOrderHeader, su Aggiungie quindi su Aggiungi join per estendere il filtro selezionato.On the Filter Table Rows page, click SalesOrderHeader, click Add, and then click Add Join to Extend the Selected Filter.

  14. Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita in join.In the Add Join dialog box, select Sales.SalesOrderDetail under Joined table.

  15. Fare clic su L'istruzione per il join verrà scritta manualmente.Click Write the join statement manually.

  16. In Colonne tabella filtrataselezionare BusinessEntityID, quindi fare clic sul pulsante freccia per copiare il nome della colonna nell'istruzione per il join.In Filtered table columns, select BusinessEntityID, then click the arrow button to copy the column name to the loin statement.

  17. Nella casella Istruzione per il join completare l'istruzione per il join come indicato di seguito:In the Join statement box, complete the join statement as follows:

    ON Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID  
    
  18. In Specificare le opzioni del joinselezionare Chiave univocae quindi fare clic su OK.In Specify join options, select Unique key, and then click OK.

  19. Nella pagina Filtro righe tabella fare clic su SalesOrderHeader (Sales), selezionare Aggiungi, quindi scegliere Aggiungi join per estendere il filtro selezionato.On the Filter Table Rows page, click SalesOrderHeader (Sales), click Add, and then click Add Join to Extend the Selected Filter.

  20. Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita in join, fare clic su OKe quindi su Avanti.In the Add Join dialog box, select Sales.SalesOrderDetail under Joined table, click OK, and then click Next.

  21. Selezionare Crea snapshot immediatamente, deselezionare Usa la pianificazione seguente per l'esecuzione dell'agente snapshote quindi fare clic su Avanti.Select Create a snapshot immediately, clear Schedule the snapshot agent to run at the following times, and click Next.

  22. Nella pagina Sicurezza agente fare clic su Impostazioni di sicurezza, digitare <Nome_computer>\repl_snapshot nella casella Account processo, specificare la password per l'account e quindi fare clic su OK.On the Agent Security page, click Security Settings, type <Machine_Name>\repl_snapshot in the Process account box, supply the password for this account, and then click OK. Fare clic su Fine.Click Finish.

  23. Nella pagina Completamento procedura guidata immettere AdvWorksSalesOrdersMerge nella casella Nome pubblicazione , quindi fare clic su Fine.On the Complete the Wizard page, enter AdvWorksSalesOrdersMerge in the Publication name box and click Finish.

  24. Dopo aver creato la pubblicazione, fare clic su Chiudi.After the publication is created, click Close.

Per visualizzare lo stato della generazione dello snapshotTo view the status of snapshot generation

  1. Connettersi al server di pubblicazione in SQL Server Management StudioSQL Server Management Studio, espandere il nodo del server e quindi la cartella Replica .Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, expand the server node, and then expand the Replication folder.

  2. Nella cartella Pubblicazioni locali fare clic con il pulsante destro del mouse su AdvWorksSalesOrdersMergee quindi scegliere Visualizza stato agente snapshot.In the Local Publications folder, right-click AdvWorksSalesOrdersMerge, and then click View Snapshot Agent Status.

  3. Verrà visualizzato lo stato corrente del processo dell'agente snapshot per la pubblicazione.The current status of the Snapshot Agent job for the publication is displayed. Verificare che il processo snapshot abbia avuto esito positivo prima di passare alla lezione successiva.Ensure that the snapshot job has succeeded before you continue to the next lesson.

Per aggiungere l'account di accesso dell'agente di merge all'elenco di accesso alla pubblicazioneTo add the Merge Agent login to the PAL

  1. Connettersi al server di pubblicazione in SQL Server Management StudioSQL Server Management Studio, espandere il nodo del server e quindi la cartella Replica .Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, expand the server node, and then expand the Replication folder.

  2. Nella cartella Pubblicazioni locali fare clic con il pulsante destro del mouse su AdvWorksSalesOrdersMergee quindi scegliere Proprietà.In the Local Publications folder, right-click AdvWorksSalesOrdersMerge, and then click Properties.

    Verrà visualizzata la finestra di dialogo Proprietà pubblicazione .The Publication Properties dialog box is displayed.

  3. Selezionare la pagina Elenco di accesso alla pubblicazione e fare clic su Aggiungi.Select the Publication Access List page, and click Add.

  4. Nella finestra di dialogo Aggiungi accesso alla pubblicazione selezionare <Nome_computer>\repl_merge e quindi fare clic su OK.In the Add Publication Access dialog box, select <Machine_Name>\repl_merge and click OK. Scegliere OK.Click OK.

Passaggi successiviNext Steps

In questo modo è stata creata la pubblicazione di tipo merge.You have successfully created the merge publication. Il passaggio successivo consiste nel sottoscrivere la pubblicazione.Next, you will subscribe to this publication. Vedere Lezione 2: Creazione di una sottoscrizione per una pubblicazione di tipo merge.See Lesson 2: Creating a Subscription to the Merge Publication.

Vedere ancheSee Also

Filtro dei dati pubblicatiFilter Published Data
Filtri di riga con parametriParameterized Row Filters
Define an ArticleDefine an Article