Lektion 1: Veröffentlichen von Daten mithilfe der Mergereplikation

In dieser Lektion erstellen Sie mithilfe von SQL Server Management Studio eine Mergeveröffentlichung, um eine Teilmenge der Tabellen Employee, SalesOrderHeader und SalesOrderDetail in der AdventureWorks2008R2-Beispieldatenbank zu veröffentlichen. Diese Tabellen werden mit parametrisierten Zeilenfiltern gefiltert, sodass in den einzelnen Abonnements jeweils eine eindeutige Teilmenge der Daten enthalten ist. Außerdem fügen Sie der Veröffentlichungszugriffsliste (Publication Access List, PAL) die vom Merge-Agent verwendete SQL Server-Anmeldung hinzu. Für dieses Lernprogramm ist es erforderlich, dass Sie das vorherige Lernprogramm (Vorbereiten des Servers für die Replikation) abgeschlossen haben.

So erstellen Sie eine Veröffentlichung und definieren Artikel

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her, und erweitern Sie dann den Serverknoten.

  2. Erweitern Sie den Ordner Replikation, und klicken Sie mit der rechten Maustaste auf Lokale Veröffentlichungen. Klicken Sie dann auf Neue Veröffentlichung.

    Der Assistent für neue Veröffentlichung wird gestartet.

  3. Wählen Sie auf der Seite Veröffentlichungsdatenbank AdventureWorks2008R2 aus, und klicken Sie dann auf Weiter.

  4. Wählen Sie auf der Seite Veröffentlichungstyp Mergeveröffentlichung aus, und klicken Sie dann auf Weiter.

  5. Stellen Sie auf der Seite Abonnententypen sicher, dass nur SQL Server 2008 ausgewählt ist, und klicken Sie anschließend auf Weiter.

  6. Erweitern Sie auf der Seite Artikel den Knoten Tabellen, und wählen Sie SalesOrderHeader und SalesOrderDetail aus. Erweitern Sie anschließend Employee, wählen Sie BusinessEntityID oder LoginID aus, und klicken Sie dann auf Weiter.

  7. Klicken Sie auf der Seite Tabellenzeilen filtern auf Hinzufügen, und klicken Sie anschließend auf Filter hinzufügen.

  8. Wählen Sie im Dialogfeld Filter hinzufügen unter Wählen Sie die zu filternde Tabelle aus die Option Employee (HumanResources) aus. Klicken Sie auf die Spalte LoginID und anschließend auf den Pfeil nach rechts, um der WHERE-Klausel der Filterabfrage die Spalte hinzuzufügen, und ändern Sie die WHERE-Klausel wie folgt:

    WHERE [LoginID] = HOST_NAME()
    
  9. Klicken Sie auf Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet, und klicken Sie dann auf OK.

  10. Klicken Sie auf der Seite Tabellenzeilen filtern auf Employee, klicken Sie auf Hinzufügen und anschließend auf Join hinzufügen, um den ausgewählten Filter zu erweitern.

  11. Wählen Sie im Dialogfeld Join hinzufügen unter Verknüpfte Tabelle die Tabelle Sales.SalesOrderHeader aus, klicken Sie auf Joinanweisung manuell schreiben, und vervollständigen Sie die Joinanweisung wie folgt:

    ON Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID
    
  12. Wählen Sie unter Geben Sie Joinoptionen an die Option Eindeutiger Schlüssel aus, und klicken Sie dann auf OK.

  13. Klicken Sie auf der Seite Tabellenzeilen filtern auf SalesOrderHeader, klicken Sie auf Hinzufügen und anschließend auf Join hinzufügen, um den ausgewählten Filter zu erweitern.

  14. Wählen Sie im Dialogfeld Join hinzufügen unter Verknüpfte Tabelle die Tabelle Sales.SalesOrderDetail aus, klicken Sie auf OK, und klicken Sie anschließend auf Weiter.

  15. Wählen Sie Momentaufnahme sofort erstellen aus, deaktivieren Sie Ausführung des Momentaufnahme-Agents zu folgenden Zeitpunkten planen, und klicken Sie auf Weiter.

  16. Klicken Sie auf der Seite Agentsicherheit auf Sicherheitseinstellungen, und geben Sie im Feld Prozesskonto Folgendes ein: <Computername>\repl_snapshot. Geben Sie das Kennwort für das Konto an, und klicken Sie anschließend auf OK. Klicken Sie auf Fertig stellen.

  17. Geben Sie auf der Seite Assistenten abschließen im Feld Veröffentlichungsname den Namen AdvWorksSalesOrdersMerge ein, und klicken Sie auf Fertig stellen.

  18. Klicken Sie auf Schließen, nachdem die Veröffentlichung erstellt wurde.

So zeigen Sie den Status der Momentaufnahmegenerierung an

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her, und erweitern Sie dann den Serverknoten und den Ordner Replikation.

  2. Klicken Sie im Ordner Lokale Veröffentlichungen mit der rechten Maustaste auf AdvWorksSalesOrdersMerge, und klicken Sie dann auf Status des Momentaufnahme-Agents anzeigen.

  3. Der aktuelle Status des Auftrags des Momentaufnahme-Agents für die Veröffentlichung wird angezeigt. Stellen Sie sicher, dass der Momentaufnahmeauftrag erfolgreich war, bevor Sie zur nächsten Lektion wechseln.

So fügen Sie der PAL die Anmeldung des Merge-Agents hinzu

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her, und erweitern Sie dann den Serverknoten und den Ordner Replikation.

  2. Klicken Sie im Ordner Lokale Veröffentlichungen mit der rechten Maustaste auf AdvWorksSalesOrdersMerge, und klicken Sie dann auf Eigenschaften.

    Das Dialogfeld Veröffentlichungseigenschaften wird angezeigt.

  3. Wählen Sie die Seite Veröffentlichungszugriffsliste aus, und klicken Sie auf Hinzufügen.

  4. Wählen Sie im Dialogfeld Veröffentlichungszugriff hinzufügen Folgendes aus: <Computername>\repl_merge. Klicken Sie dann auf OK. Klicken Sie auf OK.

Nächste Schritte

Sie haben die Mergeveröffentlichung erfolgreich erstellt. Als Nächstes abonnieren Sie diese Veröffentlichung. Informationen dazu finden Sie unter Lektion 2: Erstellen eines Abonnements für die Mergeveröffentlichung.