Sdílet prostřednictvím


Kurz: Konfigurace replikace mezi serverem a mobilními klienty (sloučení)

platí pro:SQL Server

Slučovací replikace je dobrým řešením problému s přesunem dat mezi centrálním serverem a mobilními klienty, kteří jsou připojeni jen občas. Pomocí průvodců replikací můžete snadno nakonfigurovat a spravovat topologii replikace sloučení.

V tomto kurzu se dozvíte, jak nakonfigurovat topologii replikace pro mobilní klienty. Další informace o slučovací replikaci najdete v přehledu replikace sloučení.

Co se naučíte

V tomto kurzu se naučíte používat slučovací replikaci k publikování dat z centrální databáze na jednoho nebo více mobilních uživatelů, aby každý uživatel získal jedinečně filtrovanou podmnožinu dat.

V tomto kurzu se naučíte, jak:

  • Nakonfigurujte vydavatele pro slučovací replikaci.
  • Přidání mobilního odběratele pro slučovací publikaci
  • Synchronizujte odběr se slučovací publikací.

Požadavky

Tento kurz je určený pro uživatele, kteří jsou obeznámeni se základními databázovými operacemi, ale mají omezené zkušenosti s replikací. Než začnete s tímto kurzem, musíte dokončit kurz: Příprava SQL Serveru na replikaci.

K dokončení tohoto kurzu potřebujete SQL Server, SQL Server Management Studio (SSMS) a databázi AdventureWorks:

  • Na serveru vydavatele (zdroj) nainstalujte:

    • Libovolná edice SQL Serveru s výjimkou SQL Serveru Express nebo SQL Serveru Compact. Tyto edice nemohou být vydavatelem replikace.
    • Ukázková AdventureWorks2025 databáze. Pro zvýšení zabezpečení se ukázkové databáze ve výchozím nastavení nenainstalují.
  • Na server odběratele (cíl) nainstalujte libovolnou edici SQL Serveru s výjimkou SQL Serveru Express nebo SQL Serveru Compact. Publikace vytvořená v tomto kurzu nepodporuje SQL Server Express ani SQL Server Compact.

  • Nainstalujte SQL Server Management Studio.

  • Nainstalujte edici SQL Server 2017 Developer.

  • Stáhněte příkladovou databázi AdventureWorks. Pokyny k obnovení databáze v nástroji SSMS najdete v tématu Obnovení databáze.

Poznámka:

Replikace není podporována v instancích SQL Serveru, které jsou od sebe více než dvě verze.

V aplikaci SQL Server Management Studio se musíte připojit k vydavateli a odběrateli pomocí přihlášení, které je členem pevné role serveru správce systému . Další informace o této roli najdete v tématu Role na úrovni serveru.

Odhadovaný čas dokončení tohoto kurzu: 60 minut

Konfigurace vydavatele pro slučovací replikaci

V této části vytvoříte slučovací publikaci pomocí aplikace SQL Server Management Studio k publikování podmnožiny tabulek Employee, SalesOrderHeader a SalesOrderDetail v AdventureWorks2025 ukázkové databázi. Tyto tabulky jsou filtrovány pomocí parametrizovaných filtrů řádků, aby každé předplatné obsahovalo jedinečný oddíl dat. Do přístupového seznamu publikace (PAL) přidáte také přihlášení k SQL Serveru, které používá agent sloučení.

Vytvoření publikace hromadné korespondence a definování článků

  1. Připojte se k vydavateli v aplikaci SQL Server Management Studio a potom rozbalte uzel serveru.

  2. Spusťte agenta SQL Serveru tak, že na něj kliknete pravým tlačítkem v Průzkumníku objektů a vyberete Start. Pokud tento krok nespustí agenta, budete to muset provést ručně v nástroji SQL Server Configuration Manager.

  3. Rozbalte složku Replikace , klikněte pravým tlačítkem na Místní publikace a vyberte Možnost Nová publikace. Zahájí se Průvodce novou publikací:

    Výběry pro spuštění Průvodce novou publikací

  4. Na stránce Databáze publikace vyberte AdventureWorks2025a pak vyberte Další.

  5. Na stránce Typ publikace vyberte Sloučit publikaci a pak vyberte Další.

  6. Na stránce Typy odběratelů se ujistěte, že je vybráno pouze SQL Server 2008 (10.0.x) nebo novější, a pak vyberte Další:

    Stránky Typu publikace a Typy odběratelů

  7. Na stránce Články rozbalte uzel Tabulky . Vyberte následující tři tabulky: Employee, SalesOrderHeader a SalesOrderDetail. Vyberte Další.

    Výběry z tabulky na stránce

    Poznámka:

    Tabulka Employee obsahuje sloupec (OrganizationNode), který má datový typ hierarchyid. Tento datový typ je podporován pouze pro replikaci v SQL Serveru 2017.

    Pokud používáte build starší než SQL Server 2017, zobrazí se v dolní části obrazovky zpráva s upozorněním na potenciální ztrátu dat pro použití tohoto sloupce v obousměrné replikaci. Pro účely tohoto kurzu můžete tuto zprávu ignorovat. Tento datový typ by se ale neměl replikovat v produkčním prostředí, pokud nepoužíváte podporované sestavení.

    Další informace o replikaci datového typu hierarchyid naleznete v tématu Použití sloupců hierarchyid v replikaci.

  8. Na stránce Filtrovat řádky tabulky vyberte Přidat a pak vyberte Přidat filtr.

  9. V dialogovém okně Přidat filtr vyberte Employee (HumanResources) v Vybrat tabulku k filtrování. Vyberte sloupec LoginID , výběrem šipky vpravo přidejte sloupec do klauzule WHERE dotazu filtru a upravte klauzuli WHERE následujícím způsobem:

     WHERE [LoginID] = HOST_NAME()  
    

    Výběrem řádku z této tabulky přejdete jenom na jedno předplatné a vyberete OK.

    Výběry pro přidání filtru

  10. Na stránce Filtrovat řádky tabulky vyberte Employee (Human Resources) (Zaměstnanec), vyberte Přidat a pak vyberte Přidat spojení pro rozšíření vybraného filtru.

    a. V dialogovém okně Přidat spojení vyberte Sales.SalesOrderHeader v části Připojená tabulka. Vyberte Manuálně napsat příkaz join a dokončete příkaz join následujícím způsobem:

    ON [Employee].[BusinessEntityID] =  [SalesOrderHeader].[SalesPersonID] 
    

    b) V poli Zadat možnosti spojení vyberte Jedinečný klíč a pak vyberte OK.

    Výběry pro přidání spojení do filtru

  11. Na stránce Filtrovat řádky tabulky vyberte SalesOrderHeader, vyberte Přidat a pak vyberte Přidat spojení pro rozšíření vybraného filtru.

    a. V dialogovém okně Přidat spojení vyberte Sales.SalesOrderDetail v části Připojená tabulka.
    b) Vyberte Použít Tvůrce k vytvoření příkazu.
    c. V okně Náhled potvrďte, že příkaz JOIN je následující:

    ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID] 
    

    d. V poli Zadat možnosti spojení vyberte Jedinečný klíč a pak vyberte OK. Vyberte Další.

    Výběry pro přidání dalšího spojení pro prodejní objednávky

  12. Vyberte Vytvořit snímek okamžitě, zrušte zaškrtnutí políčka Naplánovat spuštění agenta snímku v následujících časech a vyberte Další:

    Výběr pro okamžité vytvoření snímku

  13. Na stránce Zabezpečení agenta vyberte Nastavení zabezpečení. Do pole < zadejte >, zadejte heslo pro tento účet a pak vyberte OK. Vyberte Další.

    Výběry pro nastavení zabezpečení agenta snímků

  14. Na stránce Dokončit průvodce zadejte AdvWorksSalesOrdersMerge do pole Název publikace a vyberte Dokončit:

    Stránka Dokončení průvodce s názvem publikace

  15. Po vytvoření publikace vyberte Zavřít. V uzlu Replikace v Průzkumníku objektů klikněte pravým tlačítkem na Místní publikace a vyberte Aktualizovat , aby se zobrazila nová replikace sloučení.

Zobrazení stavu generování snímků

  1. Připojte se k vydavateli v aplikaci SQL Server Management Studio, rozbalte uzel serveru a potom rozbalte složku Replikace .

  2. Ve složce Místní publikace klikněte pravým tlačítkem myši na AdvWorksSalesOrdersMerge a pak vyberte Zobrazit stav agenta snímků:

    Výběry pro zobrazení stavu agenta snímků

  3. Zobrazí se aktuální stav úlohy agenta snapshotu pro publikaci. Než budete pokračovat k další lekci, ujistěte se, že úloha snímku proběhla úspěšně.

Přidat přihlášení Merge Agent do PAL

  1. Připojte se k vydavateli v aplikaci SQL Server Management Studio, rozbalte uzel serveru a potom rozbalte složku Replikace .

  2. Ve složce Místní publikace klikněte pravým tlačítkem myši na AdvWorksSalesOrdersMerge a pak vyberte Vlastnosti.

    a. Vyberte stránku přístupového seznamu publikace a vyberte Přidat.

    b) V dialogovém okně Přidat přístup k publikaci vyberte <Publisher_Machine_Name\repl_merge> a vyberte OK. Znovu vyberte OK .

    Možnosti pro přidání přihlašovacích údajů sloučovacího agenta

Další informace najdete tady:

Vytvoření odběru sloučené publikace

V této části přidáte odběr do sloučené publikace, kterou jste vytvořili dříve. V tomto tutoriálu se používá vzdálený odběratel (NODE2\SQL2016). Potom nastavíte oprávnění k databázi předplatného a ručně vygenerujete filtrovaný snímek dat pro nové předplatné.

Přidat odběratele pro slučovací publikaci

  1. Připojte se ke službě subscriber v aplikaci SQL Server Management Studio a rozbalte serverovou položku. Rozbalte složku Replikace , klikněte pravým tlačítkem myši na složku Místní předplatná a pak vyberte Nová předplatná. Spustí se Průvodce novým předplatným:

    Výběry pro spuštění Průvodce vytvořením nového předplatného

  2. Na stránce Publikace vyberte v seznamu Vydavatel možnost Najít SQL Server Publisher.

    V dialogovém okně Připojit k serveru zadejte název instance vydavatele do pole Název serveru a vyberte Připojit.

    Výběry pro přidání vydavatele

  3. Vyberte AdvWorksSalesOrdersMerge a vyberte Další.

  4. Na stránce Umístění slučovacího agenta vyberte Spustit každého agenta u odběratele a pak vyberte Další:

    Možnost Spustit každého agenta na svém odběrateli

  5. Na stránce Odběratelé vyberte název instance serveru odběratele. V části Databáze předplatného vyberte v seznamu možnost Nová databáze .

    V dialogovém okně Nová databáze zadejte SalesOrdersReplica do pole Název databáze . Zvolte OK a pak vyberte Další.

    Možnosti pro přidání databáze k odběrateli

  6. Na stránce Zabezpečení agenta pro slučování vyberte tlačítko se třemi tečkami (...). Do pole < zadejte > a zadejte heslo pro tento účet. Vyberte OK, vyberte Další a pak znovu vyberte Další .

    Výběry pro zabezpečení agenta sloučení

  7. Na stránce Plán synchronizace nastavte plán agenta tak, aby běžel pouze na vyžádání. Vyberte Další.

    Výběr možnosti Spustit pouze na vyžádání pro agenta

  8. Na stránce Inicializace předplatných vyberte Při prvním spuštění synchronizace ze seznamu Inicializovat kdy. Výběrem možnosti Další přejděte na stránku Typ předplatného a vyberte příslušný typ předplatného. V tomto kurzu se používá klient. Jakmile vyberete typ předplatného, znovu vyberte Další .

    Výběry pro inicializaci předplatných při první synchronizaci

  9. Na stránce HOST_NAME Hodnoty zadejte hodnotu adventure-works\pamela0 do pole HOST_NAME Hodnota . Pak vyberte Dokončit.

    Stránka Hodnoty HOST_NAME

  10. Znovu vyberte Dokončit . Po vytvoření předplatného vyberte Zavřít.

Nastavení oprávnění serveru u odběratele

  1. Připojte se k odběrateli v aplikaci SQL Server Management Studio. Rozbalte položku Zabezpečení, klikněte pravým tlačítkem na Přihlášení a pak vyberte Nové přihlášení.

    Na stránce Obecné vyberte Hledat a potom do pole < zadejte >\repl_merge. Zvolte Zkontrolovat názvy a pak vyberte OK.

    Výběry pro nastavení přihlášení

  2. Na stránce Mapování uživatelů vyberte databázi SalesOrdersReplica a vyberte db_owner roli. Na stránce Zabezpečitelné udělte Explicitní oprávnění k Alter Trace. Vyberte OK.

    Stránky Mapování uživatelů a Zabezpečitelné stránky

Vytvoření filtrovaného snímku dat pro předplatné

  1. Připojte se k vydavateli v aplikaci SQL Server Management Studio, rozbalte uzel serveru a potom rozbalte složku Replikace .

  2. Ve složce Místní publikace klikněte pravým tlačítkem myši na publikaci AdvWorksSalesOrdersMerge a pak vyberte Vlastnosti.

    a. Vyberte stránku Datové oddíly a vyberte Přidat.
    b) V dialogovém okně Přidat datový oddíl zadejte adventure-works\pamela0 do pole HOST_NAME Hodnota a pak vyberte OK.
    c. Vyberte nově přidaný oddíl, vyberte Vygenerovat vybrané snímky a pak vyberte OK.

    Možnosti pro přidání oddílu

Další informace najdete tady:

Synchronizace předplatného s hromadnou publikací

V této části spustíte agenta sloučení, abyste inicializovali předplatné pomocí aplikace SQL Server Management Studio. Tento postup slouží také k synchronizaci s vydavatelem.

Spuštění synchronizace a inicializace předplatného

  1. Připojte se k odběrateli v aplikaci SQL Server Management Studio.

  2. Ujistěte se, že je spuštěný agent SQL Serveru. Pokud tomu tak není, klikněte pravým tlačítkem myši na agenta SQL Serveru v Průzkumníku objektů a vyberte Spustit. Pokud se vám tento krok nepodaří spustit agenta, budete to muset provést ručně pomocí nástroje SQL Server Configuration Manager.

  3. Rozbalte uzel Replikace. Ve složce Místní předplatná klikněte pravým tlačítkem myši na předplatné v databázi SalesOrdersReplica a pak vyberte Zobrazit stav synchronizace.

    Výběrem možnosti Start inicializujete předplatné.

    Stav synchronizace s tlačítkem Start