Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa lezione verrà creata una pubblicazione di tipo merge usando SQL Server Management Studio per pubblicare un subset delle tabelle Employee, SalesOrderHeader e SalesOrderDetail nel database di esempio AdventureWorks2012 . Queste tabelle vengono filtrate con filtri di riga con parametri in modo che ogni sottoscrizione contenga una partizione univoca dei dati. Si aggiungerà l'account di accesso di SQL Server utilizzato dall'agente di merge anche all'elenco di accesso alla pubblicazione (PAL). Per questa esercitazione è necessario aver completato l'esercitazione precedente, Preparazione del server per la replica.
Per creare una pubblicazione e definire articoli
Connettiti al server di pubblicazione in SQL Server Management Studio e poi espandi il nodo server.
Espandere la cartella Replica , fare clic con il pulsante destro del mouse su Pubblicazioni locali e scegliere Nuova pubblicazione.
Si avvia la Configurazione guidata 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 Tipi di Sottoscrittore verificare che sia selezionato solo SQL Server 2008 o versione successiva e quindi fare clic su Avanti.
Nella pagina Articoli espandere il nodo Tabelle , selezionare SalesOrderHeader e SalesOrderDetail, quindi espandere Employee, selezionare EmployeeID o LoginID e quindi fare clic su Avanti.
Suggerimento
Le colonne obbligatorie aggiuntive vengono selezionate automaticamente. Selezionare una delle colonne selezionate automaticamente e visualizzare la nota sotto l'elenco Oggetti da pubblicare per una spiegazione del motivo per cui è necessaria la colonna.
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 e modificare la clausola WHERE come indicato di seguito:
WHERE [LoginID] = HOST_NAME()Fare clic su Una riga di questa tabella andrà solo a una sottoscrizione e fare clic su OK.
Nella pagina Filtra righe tabella, fare clic su Dipendente (Risorse umane), fare clic su Aggiungi e quindi su Aggiungi collegamento per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderHeader in Tabella unita, fare clic su Scrivi manualmente l'istruzione join e completare l'istruzione join come indicato di seguito:
ON Employee.EmployeeID = SalesOrderHeader.SalesPersonIDIn Specificare le opzioni di join selezionare Chiave univoca e quindi fare clic su OK.
Nella pagina Filtra righe tabella seleziona SalesOrderHeader, fai clic su Aggiungi e quindi su Aggiungi join per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita.
Fare clic su Scrivi manualmente l'istruzione join.
In Colonne di tabella filtrate selezionare BusinessEntityID, quindi fare clic sul pulsante freccia per copiare il nome della colonna nell'istruzione loin.
Nella casella Istruzione Join completare l'istruzione join come indicato di seguito:
ON Employee.BusinessEntityID = SalesOrderHeader.SalesPersonIDIn Specificare le opzioni di join selezionare Chiave univoca e quindi fare clic su OK.
Nella pagina Filtra Righe Tabella, fai clic su SalesOrderHeader (Sales), fai clic su Aggiungi, e infine su Aggiungi Join per estendere il filtro selezionato.
Nella finestra di dialogo Aggiungi join selezionare Sales.SalesOrderDetail in Tabella unita, fare clic su OK e quindi su Avanti.
Selezionare Crea uno snapshot immediatamente, deselezionare Pianificare l'esecuzione dell'agente snapshot nelle ore seguenti e 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 questo account e quindi fare clic su OK. Fare clic su Fine.
Nella pagina Completamento della procedura guidata, immettere AdvWorksSalesOrdersMerge nella casella Nome pubblicazione e fare clic su Fine.
Dopo aver creato la pubblicazione, fare clic su Chiudi.
Per visualizzare lo stato della generazione di snapshot
Connettersi al server di pubblicazione in SQL Server Management Studio, espandere il nodo del server e quindi espandere la cartella Replica .
Nella cartella Pubblicazioni locali fare clic con il pulsante destro del mouse su AdvWorksSalesOrdersMerge e quindi scegliere Visualizza stato agente snapshot.
Viene mostrato lo stato attuale dell'attività dell'agente Snapshot per la pubblicazione. Assicurarsi che il processo di snapshot sia riuscito prima di passare alla lezione successiva.
Per aggiungere l'accesso dell'Agente di unione al PAL
Connettersi al server di pubblicazione in SQL Server Management Studio, espandere il nodo del server e quindi espandere 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
La pubblicazione di tipo merge è stata creata correttamente. Successivamente, ti abbonerai a questa pubblicazione. Vedere Lezione 2: Creazione di una sottoscrizione per la pubblicazione di tipo merge.
Vedere anche
Filtrare i dati pubblicati
Filtri di riga con parametri
Definire un articolo