Lezione 1: Pubblicazione dei dati tramite la replica di tipo merge
In questa lezione verrà creata una pubblicazione di tipo merge con SQL Server Management Studio per pubblicare un subset delle tabelle Employee, SalesOrderHeader e SalesOrderDetail nel database di esempio AdventureWorks2012 . Queste tabelle vengono filtrate tramite filtri di riga con parametri in modo che ogni sottoscrizione contenga una partizione univoca dei dati. Verrà inoltre aggiunto l'account di accesso di SQL Server utilizzato dall'agente di merge all'elenco di accesso alla pubblicazione. Per eseguire questa esercitazione è necessario avere completato l'esercitazione precedente Preparazione del server per la replica.
Per creare una pubblicazione e definire articoli
Connettersi al server di pubblicazione in SQL Server Management Studio e quindi espandere il nodo del server.
Espandere la cartella Replica, fare clic con il pulsante destro del mouse su Pubblicazioni locali e quindi scegliere Nuova pubblicazione.
Verrà avviata la Creazione guidata nuova pubblicazione.
Nella pagina Database di pubblicazione selezionare AdventureWorks2012 e quindi fare clic su Avanti.
Nella pagina Tipo di pubblicazione selezionare Pubblicazione di tipo merge e quindi fare clic su Avanti.
Nella pagina Tipo di Sottoscrittore verificare che sia selezionato solo SQL Server 2008 o versione successiva, quindi fare clic su Avanti.
Nella pagina Articoli espandere il nodo Tabelle, selezionare SalesOrderHeader e SalesOrderDetail, espandere Employee, selezionare EmployeeID o LoginID e quindi fare clic su Avanti.
Suggerimento Le colonne necessarie aggiuntive sono selezionate automaticamente. 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.
Nella pagina Filtro righe tabella fare clic su Aggiungi e quindi su Aggiungi filtro.
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:
WHERE [LoginID] = HOST_NAME()
Selezionare Una riga di questa tabella verrà inviata a una sola sottoscrizione e quindi fare clic su OK.
Nella pagina Filtro righe tabella fare clic su Employee (Human Resources), selezionare Aggiungi, quindi scegliere Aggiungi join per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderHeader in Tabella unita in join, selezionare L'istruzione per il join verrà scritta manualmente e quindi completare l'istruzione per il join come segue:
ON Employee.EmployeeID = SalesOrderHeader.SalesPersonID
In Specificare le opzioni del join selezionare Chiave univoca e quindi fare clic su OK.
Nella pagina Filtro righe tabella fare clic su SalesOrderHeader, su Aggiungi e quindi su Aggiungi join per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita in join.
Fare clic su L'istruzione per il join verrà scritta manualmente.
In Colonne tabella filtrata selezionare BusinessEntityID, quindi fare clic sul pulsante freccia per copiare il nome della colonna nell'istruzione per il join.
Nella casella Istruzione per il join completare l'istruzione per il join come indicato di seguito:
ON Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID
In Specificare le opzioni del join selezionare Chiave univoca e quindi fare clic su OK.
Nella pagina Filtro righe tabella fare clic su SalesOrderHeader (Sales), selezionare Aggiungi, quindi scegliere Aggiungi join per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita in join, fare clic su OK e quindi su Avanti.
Selezionare Crea snapshot immediatamente, deselezionare Usa la pianificazione seguente per l'esecuzione dell'agente snapshot e quindi fare clic su Avanti.
Nella pagina Sicurezza agente fare clic su Impostazioni di sicurezza, digitare <Machine_Name>\repl_snapshot nella casella Account processo, specificare la password per l'account, quindi fare clic su OK. Fare clic su Fine.
Nella pagina Completamento procedura guidata immettere AdvWorksSalesOrdersMerge nella casella Nome pubblicazione, quindi fare clic su Fine.
Dopo aver creato la pubblicazione, fare clic su Chiudi.
Per visualizzare lo stato della generazione dello snapshot
Connettersi al server di pubblicazione in SQL Server Management Studio, espandere il nodo del server e quindi la cartella Replica.
Nella cartella Pubblicazioni locali fare clic con il pulsante destro del mouse su AdvWorksSalesOrdersMerge e quindi scegliere Visualizza stato agente snapshot.
Verrà visualizzato lo stato corrente del processo dell'agente snapshot per la pubblicazione. Verificare che il processo snapshot abbia avuto esito positivo prima di passare alla lezione successiva.
Per aggiungere l'account di accesso dell'agente di merge all'elenco di accesso alla pubblicazione
Connettersi al server di pubblicazione in SQL Server Management Studio, espandere il nodo del server e quindi la cartella Replica.
Nella cartella Pubblicazioni locali fare clic con il pulsante destro del mouse su AdvWorksSalesOrdersMerge e quindi scegliere Proprietà.
Verrà visualizzata la finestra di dialogo Proprietà pubblicazione.
Selezionare la pagina Elenco di accesso alla pubblicazione e fare clic su Aggiungi.
Nella finestra di dialogo Aggiungi accesso alla pubblicazione selezionare <Machine_Name>\repl_merge e fare clic su OK. Fare clic su OK.
Passaggi successivi
In questo modo è stata creata la pubblicazione di tipo merge. Il passaggio successivo consiste nel sottoscrivere la pubblicazione. Vedere Lezione 2: Creazione di una sottoscrizione per una pubblicazione di tipo merge.
Vedere anche
Concetti
Altre risorse
Procedura: Creazione di una pubblicazione (programmazione Transact-SQL della replica)