sql >> Databáze >  >> RDS >> Database

Jak vytvořit transakční replikaci

V tomto článku ukážu, jak vytvořit transakční replikaci.

Transakční replikace vygenerovala snímek publikačních DB objektů a dat v ní. Po vygenerování snímku jsou všechny změny dat a změny schématu, ke kterým došlo v databázi vydavatele, doručeny do databází odběratelů. Při transakční replikaci probíhají změny dat a schémat téměř v reálném čase, a proto lze transakční replikaci použít ke snížení zátěže sestav a někdy ji lze použít jako místo DR.

Když vytvoříme transakční replikaci, SQL Server vytvoří následující úlohy SQL

  1. Úloha agenta snímku: Snapshot Agent Job generuje snímek objektů databáze publikace. Snímek je uložen buď v síťovém umístění nebo na pevném disku
  2. Úloha aplikace Log Reader: Log Reader Job průběžně monitoruje publikace. Detekuje změny schématu a dotazy Vložit, Aktualizovat a Odstranit a označí je pro replikaci. Čtečka protokolů používá „Sp_Replcmds ” pro použití příkazů označených pro replikaci.

Nastavení ukázky:

Pro toto demo jsem vytvořil dvě instance SQL Serveru na stejném databázovém serveru. Názvy a podrobnosti instancí jsou následující:

Při nastavování ukázky jsem nevytvořil distributora, takže instance vydavatele bude také fungovat jako distributor. Vytvořil jsem „zákazníka ” v databázi AdventureWorks2014. Chystám se replikovat data tabulky Zákazník. Proto bude nazýván článkem vydavatele.

Konfigurace vydavatele

Chcete-li nakonfigurovat vydavatele, otevřete SQL Server Management Studio, rozbalte instanci databáze a rozbalte Replikace uzel a klikněte pravým tlačítkem na Místní publikace a vyberte Nová publikace .

Spustí se Průvodce novou publikací. V dialogovém okně je k dispozici krátké shrnutí průvodce. Další zobrazení tohoto dialogového okna můžete přeskočit zaškrtnutím políčka Nezobrazovat znovu tuto úvodní stránku zaškrtávací políčko. Klikněte na Další pro přesun do dalšího dialogového okna.

V dalším dialogovém okně vyberte databázi, která funguje jako vydavatel. V této ukázce používám AdventureWorks2014 databáze, takže vyberte AdventureWorks2014 ze seznamu databází a klikněte na Další .

V dalším dialogovém okně vyberte typ publikace ze seznamu typů publikace a jejich popisy jsou také uvedeny v části Popisy typů publikací Textové pole. Vyberte Transakční publikace a klikněte na Další .

V dalším dialogovém okně vyberte typ publikace ze seznamu typů publikace a jejich popisy jsou také uvedeny v části Popisy typů publikací Textové pole. Vyberte Transakční publikace a klikněte na Další .

Pokud chcete filtrovat data tabulky, můžete zadat podmínku v dialogovém okně Filtrovat řádky tabulky. Chcete-li přidat filtr, klikněte na tlačítko Přidat knoflík. Další dialogové okno Přidat filtr otevře. V tomto dialogovém okně můžete zadat požadovaný příkaz filtru v Příkazu filtru textové pole.

Pro tuto ukázku nefiltrujeme data zákazníka tabulky, takže toto dialogové okno přeskočte a klikněte na Další .

K inicializaci transakční replikace musíme vygenerovat snímek. V dialogovém okně Snapshot Agent nakonfigurujte interval generování snímku. Snímek můžete vygenerovat okamžitě nebo můžete naplánovat konkrétní čas vygenerování snímku databáze. Ve výchozím nastavení se snímek generuje každou hodinu, ale můžeme to změnit. Chcete-li vytvořit snímek v určitém intervalu, klikněte na Změnit. Otevře se dialogové okno Nový plán úlohy. Nakonfigurujte požadovaný plán a klikněte na OK .

V této ukázce vygeneruji snímek okamžitě, takže zaškrtněte políčko Vytvořit snímek a ponechat snímek dostupný pro inicializaci předplatného a klikněte na Další .

V dalším dialogovém okně nakonfigurujte zabezpečení SQL Agent. Chcete-li nakonfigurovat zabezpečení agenta, klikněte na Nastavení zabezpečení knoflík. Snapshot Agent Security ” otevře se dialogové okno. V dialogovém okně zadejte účet, pod kterým se odběratel připojuje k vydavateli. Kromě toho zadejte informace o účtu, pod kterým bude úloha agenta SQL Server spuštěna. V této ukázce se úlohy SQL Server spouštějí pod účtem služby SQL Server Agent, takže vyberte Spustit pod účtem služby SQL Server Agent volba. Předplatitelé budou připojeni k vydavateli pomocí přihlášení SQL, takže vyberte Použít následující přihlášení k serveru SQL a zadejte přihlašovací jméno a heslo SQL. V této ukázce se připojte pomocí „sa " přihlásit se. Klikněte na OK zavřete dialogové okno a klikněte na Další .

V dalším dialogovém okně můžete zvolit vytvoření publikace nebo generování skriptů pro vytvoření publikace. Chcete-li vytvořit publikaci, vyberte možnost Vygenerovat soubor skriptu možnost generování skriptů kroků replikace. Vytvoříme publikaci, takže vyberte Vytvořit publikaci a klikněte na Další .

V dalším dialogovém okně zadejte název publikace, zkontrolujte souhrn úkolů, které je třeba provést při vytvoření replikace, a klikněte na Dokončit vytvořte publikaci a zavřete Nová publikace Průvodce .

Jak jsem zmínil na začátku článku, když vytvoříme transakční replikaci, vytvoří se úloha agenta pro čtení protokolu, úloha agenta snímku a úloha čištění pro vypršená předplatná.

Chcete-li je zobrazit, rozbalte položku SQL Server Agent a poté rozbalte položku Úlohy .

Jakmile je publikace nakonfigurována, nakonfigurujte odběratele.

Konfigurace odběratele

Chcete-li nakonfigurovat odběratele, nejprve se připojte k jiné instanci SQL. Po připojení k instanci rozbalte položku Replikace a klikněte pravým tlačítkem na Místní odběr .

Průvodce novým předplatným otevře. V dialogovém okně je k dispozici krátké shrnutí průvodce. Další zobrazení této obrazovky můžete přeskočit zaškrtnutím možnosti Tuto úvodní stránku znovu nezobrazovat zaškrtávací políčko. Klikněte na Další pro přesun do dalšího dialogového okna.

V dalším dialogovém okně zvolte publikační server. Klikněte na Vydavatel rozevíracího seznamu a klikněte na Najít SQL Server Publisher . Otevře se dialogové okno pro připojení k vydavateli. V Název serveru do textového pole zadejte název hostitele serveru vydavatele a klikněte na Připojit .

Jakmile je navázáno spojení s vydavatelem, Customer_Publication a AdventureWorks2014 se zobrazí v Databázích a publikacích Textové pole. Vyberte Customer_Publication a klikněte na Další .

V dalším dialogovém okně vyberte umístění distribučního agenta. Pro tuto ukázku použiji Pull Subscription , takže vyberte možnost Spustit každého agenta u jeho odběratele a klikněte na Další :

V dalším dialogovém okně vyberte databázi předplatného. Vytvořil jsem databázi s názvem Customer_DB , která funguje jako databáze předplatitelů. V databázi odběrů v rozevíracím seznamu vyberte Customer_DB databáze ze seznamu. Po výběru databáze předplatného klikněte na Další .

V dalším dialogovém okně nakonfigurujte zabezpečení distribučního agenta. Chcete-li nakonfigurovat zabezpečení, klikněte na tlačítko […]. Zabezpečení distribučního agenta otevře se dialogové okno. V první části zadejte doménový účet, pod kterým bude proces Distribučního agenta spuštěn. Distribuční agent poběží pod službou SQL Server Agent, takže vyberte Spustit pod účtem služby agenta SQL Server možnost.

Zde jsem nekonfiguroval distribuční server, takže vydavatel funguje jako distributor. Předplatitel se připojí k vydavateli/distributorovi pomocí přihlášení SQL. Pro připojení distributora použijte „sa“ přihlašovací jméno a heslo.

Klikněte na OK zavřete dialogové okno. V dialogovém okně Distribution Agent Security klikněte na Další .

V dalším dialogovém okně nakonfigurujte plán synchronizace předplatného. Můžete si vybrat, aby běžel nepřetržitě, nebo nakonfigurovat plánované spouštění. Vyberte možnost Spustit nepřetržitě v Plánu agentů rozevíracím seznamu. Klikněte na Další .

V dalším dialogovém okně zvolte, zda chcete předplatné inicializovat okamžitě se snímkem dat publikace a schématu nebo po první synchronizaci. Předplatné okamžitě inicializujeme, takže vyberte možnost Okamžitě z Inicializovat když rozevíracím seznamu. Klikněte na Další .

V dalším dialogovém okně si můžete vybrat, zda chcete vytvořit předplatné okamžitě, nebo vygenerovat skripty pro vytvoření předplatného. Chcete-li vytvořit předplatné, vyberte možnost Vygenerovat soubor skriptu možnost generování skriptů kroků replikace. Vytvoříme publikaci, takže vyberte Vytvořit předplatné a klikněte na Další .

V dalším dialogovém okně je uveden seznam úloh provedených pro vytvoření předplatného. Můžete si je prohlédnout a kliknout na Dokončit .

Jakmile je předplatné vytvořeno, můžete jej zobrazit v části Místní předplatné uzel.

Zobrazit stav replikace

Pomocí nástroje Sledování replikace můžete zobrazit stav replikace. Chcete-li otevřít nástroj Sledování replikace, rozbalte položku Replikace a potom rozbalte položku Místní publikace. Klikněte pravým tlačítkem na Customer_Publication a vyberte Spustit monitor replikace.

Shrnutí:

V tomto článku jsem vysvětlil:

  1. Shrnutí na vysoké úrovni transakční replikace.
  2. Nastavení ukázky.
  3. Jak nakonfigurovat publikování replikace.
  4. Jak nakonfigurovat odběratele replikace.

Užitečné nástroje:

dbForge Data Compare for SQL Server – výkonný nástroj pro porovnání SQL schopný pracovat s velkými daty.

dbForge Schema Compare for SQL Server – spolehlivý nástroj, který šetří váš čas a námahu při porovnávání a synchronizaci databází na SQL Server.


  1. Vytvořte sloupec „Poslední změna“ na serveru SQL Server

  2. Jak změnit aktuální formát data v SQL Server (T-SQL)

  3. Planetární vyrovnání

  4. SQL Union – Komplexní průvodce operátorem UNION