Articles

SQLShack

objem dat uchovávaných, spravovaných a přístupných dnes je bezprecedentní. Podniky očekávají, že IT oddělení, aby data on-line a přístupné na dobu neurčitou, uvedení intenzivní tlak na databáze vyžaduje, aby ukládat a spravovat to. Aby vyhovovaly dnešním potřebám; musíme nahradit zastaralé a neefektivní dědictví procesy, nové, agilní techniky. Replikace SQL Serveru je jednou z technik, jak těmto požadavkům vyhovět.

  • Poznámka: Chcete se dozvědět více o replikaci databáze, prosím, přečtěte si Různé zúčastněné strany, Různé Pohledy: Proč Správa Databáze Vyžaduje Systematický Přístup článek.

V tomto článku, pojďme si tvar pochopení plného SQL Server replikace topografie, včetně komponentů, vnitřní a SQL svázat to všechno dohromady. Po dokončení čtení tohoto článku pochopíte:

  • replikace serveru SQL Server, obecně
  • Komponenty transakčních replikaci serveru SQL Server, zejména
  • Jak se dostat distributor vlastnosti
  • Jak najít vydavatele, pomocí stejného distributora
  • Jaké jsou použity databáze pro SQL Server replikace
  • obecné topologie replikace prostředí
  • Jaké jsou články, které jsou mapovány na typu replikace serveru SQL Server model
  • Jak se dostat zveřejnění informací
  • Jak získat předplatné
  • SQL Server Replikace agenti
  • A více…

Replikace

SQL Server replikace je technologií pro kopírování a distribuci dat a databázových objektů z jedné databáze do jiné a potom synchronizaci mezi databázemi k udržení konzistence a integrity údajů. Ve většině případů je replikace procesem reprodukce dat na požadované cíle. Replikace SQL Serveru se používá pro nepřetržité kopírování a synchronizaci dat nebo může být také naplánováno spuštění v předem stanovených intervalech. Existuje několik různých technik replikace, které podporují různé přístupy k synchronizaci dat; jednosměrný; one-to-many; many-to-one; a obousměrný,a udržovat několik datových souborů v synchronizaci s sebou.

transakční SQL Server replikace komponenty

následující diagram zobrazuje komponenty transakční SQL Server replikace.

Včetně SQL Server replikace.

  • Vydavatel
  • Zveřejnění databáze
  • Publikace
  • Články
  • Distributor
  • Distribuční databáze
  • Zákazníka
  • Předplatné databáze
  • Předplatné
  • Replikace agenti

SQL Server replikace diagram

Článek

článek je základní jednotkou SQL Server Replikace. Článek se může skládat z tabulek, uložených postupů a pohledů. Je možné měřítko článku, vodorovně a svisle pomocí možnosti filtru. Můžeme také vytvořit více článků na stejném objektu s určitými omezeními a omezeními.

pomocí Průvodce novou publikací lze článek navigovat. Umožňuje nám zobrazit vlastnosti článku a poskytnout možnosti pro nastavení vlastností článků. V některých případech lze vlastnosti nastavit v době vytvoření publikace a jedná se o vlastnost pouze pro čtení.

po vytvoření publikace replikace serveru SQL Server, například pokud některá vlastnost vyžaduje změnu, bude zase vyžadovat vygenerování nového snímku replikace. Pokud má publikace jedno nebo více odběrů, změna vyžaduje opětovné zahájení všech odběrů. Další informace naleznete v článku Jak přidat/zrušit články do/z existující publikace v článku SQL Server.

seznam všech článků, které jsou zveřejněny, spusťte následující T-SQL

1
2
3
4
5
6
7
8
9
10
11
12

VYBRAT
Hospoda.
, čl.
, čl.
, čl.
, čl.
z
.. Art
vnitřní spojení .. Hospoda
na čl. = Pub.
ORDER BY
Pub., Art.

To get the details of articles in transactional or merge SQL Server replication in a published database, run the following T-SQL.

1
2
3
4
5
6
7
8

SELECT st.name , st.schema_id, st.is_published , st.is_merge_published, is_schema_published
od sys.tabulky st, kde st. is_published = 1 nebo st. is_merge_published = 1 nebo st. is_schema_published = 1
UNION
SELECT sp.name, sp.schema_id, 0, 0, sp. is_schema_published
od sys.postupy sp, KDE sp.is_schema_published = 1
UNIE
VYBERTE sv.jméno, sv.schema_id, 0, 0, sv. is_schema_published
od sys.zobrazení sv kde sv. is_schema_published = 1;

To get detailed information about an article in the listed publisher, run the following T-SQL

1
2
3
4
5
6
7

DECLARE @publication AS sysname;
SET @publication = N’PROD_HIST_Pub‘;
USE MES_PROD_AP
EXEC sp_helparticle
@publication = @publication;
GO

To get column level details, run the following T-SQL

1
2
3

USE MES_PROD_AP
GO
sp_helparticlecolumns @publication = N’PROD_HIST_Pub‘ , @article = ‚tb_Branch_Plant‘

seznam sloupců, které jsou publikovány v transakční replikace v databázi publikace, spusťte následující T-SQL

1
SELECT object_name(object_id) , název Z sys.sloupce sc, KDE sc.is_replicated = 1;

Publikace

Publikace je logické, sbírka článků z databáze. Entita nám umožňuje definovat a konfigurovat vlastnosti článku na vyšší úrovni tak, aby vlastnosti byly zděděny všem článkům v této skupině.

1
EXEC sp_helppublication;

Vydavatel databáze

vydavatel je databáze, která obsahuje seznam objektů, které jsou označeny jako SQL Server replikace články jsou známé jako databáze publikace. Vydavatel může mít jednu nebo více publikací. Každý vydavatel definuje mechanismus šíření dat vytvořením několika interních replikačních uložených postupů.

1
2
3

USE Distribution
GO
select * from MSpublications

Publisher

The Publisher is a database instance that makes data available to other locations through SQL Server replication. Vydavatel může mít jednu nebo více publikací, z nichž každá definuje logicky související sadu objektů a dat, která se mají replikovat.

Distributor

Distributor je databáze, která funguje jako sklad pro replikaci specifických dat spojených s jedním nebo více vydavateli. V mnoha případech je distributor jedinou databází, která funguje jako vydavatel i Distributor. V souvislosti s replikací serveru SQL je toto běžně známé jako „místní distributor“. Na druhou stranu, pokud je nakonfigurován na samostatném serveru, pak je znám jako „vzdálený distributor“. Každý vydavatel je spojen s jedinou databází známou jako „distribuční databáze“ aka „Distributor“.

distribuční databáze identifikuje a ukládá SQL Serveru, stav replikace dat, metadata o publikaci, a, v některých případech, se chová jako fronta pro přesun dat od Vydavatel pro Předplatitele.

V závislosti na modelu replikace může být Distributor také odpovědný za oznámení předplatitelů, kteří se přihlásili k publikaci, že se článek změnil. Distribuční databáze také udržuje integritu dat.

distribuční databáze

každý Distributor musí mít alespoň jednu distribuční databázi. Distribuční databáze se skládá z detailu článku, replikačních metadat a dat. Distributor může mít více než jednu distribuční databázi; všechny publikace definované u jednoho vydavatele však musí používat stejnou distribuční databázi.

Chcete-li zjistit, zda …

  • server je distributorem nebo ne?

    1
    SELECT @@ServerName Servername, case when is_distributor=1 then ‚Yes‘ else ‚No‘ end status FROM sys.servers WHERE name=’repl_distributor‘ AND data_source=@@servername;

  • a distribution database installed or not?

    1
    SELECT name FROM sys.databases WHERE is_distributor = 1
  • a Publisher is using this Distributor or not?

    1
    EXEC sp_get_distributor

  • or just to interrogate various Distributor and Distribution database properties?

    1
    2
    3

    EXEC sp_helpdistributor;
    EXEC sp_helpdistributiondb;
    EXEC sp_helpdistpublisher;

Subscriber

A database instance that consumes SQL Server replication data from a publication is called a Subscriber. Účastník může přijímat data od jednoho nebo více vydavatelů a publikací. Předplatitel může také předat změny dat zpět vydavateli nebo znovu publikovat data jiným účastníkům v závislosti na typu návrhu a modelu replikace.

1
EXEC sp_helpsubscriberinfo;

Odběry

odběr je žádost o kopii publikace má být dodáno na Uživatele. Předplatné definuje, jaké publikační údaje budou přijaty, kde a kdy.

Existují dva typy předplatného: odběry push a pull odběry

  • Push předplatné: Distributor přímo aktualizace dat v Uživatel databáze
  • Vytáhněte předplatné: účastník je naplánován pravidelně kontrolovat u distributora, zda jsou k dispozici nějaké nové změny, a poté aktualizuje data v samotné databázi předplatného.
1
EXEC sp_helpsubscription;

Předplatné databází

cílové databáze replikace modelu je tzv. předplatné databáze.

replikační agenti

SQL Server replication používá předdefinovanou sadu samostatných programů a události jsou známé jako agenti, provádět úkoly spojené s daty. Ve výchozím nastavení se agenti replikace serveru SQL Server spouštějí jako naplánované úlohy pod agentem SQL Server. Replikační agenty lze také spustit z příkazového řádku a aplikací, které používají objekty správy replikace (RMO). SQL Server replikace agenti mohou být monitorovány a spravovány pomocí Replication Monitor a SQL Server Management Studio.

Replikace Agenta snímku

Replikace Agenta snímku je používán všechny typy replikace serveru SQL Server technologií, protože poskytuje požadované údaje stanovené pro provedení počáteční synchronizace dat z publikace databáze s databáze odběru. Připravuje schéma a počáteční data publikovaných článků, snapshot soubory, a zaznamenává informace o typu synchronizace v distribuční databázi.

Log Reader Agent

Agent Log Reader se používá pouze s transakční replikací. Přesouvá replikační transakce z online transakčního protokolu publikační databáze do distribuční databáze.

distribuční Agent

distribuční Agent se používá pouze s replikačním snímkem a transakční replikací SQL Serveru. Tento agent aplikuje počáteční snímek replikace na databázi předplatného a později jsou změny dat sledovány a zaznamenávány v distribuční databázi a aplikovány na databázi předplatného.

Agent sloučení

Agent sloučení se používá s modelem replikace sloučení. Ve výchozím nastavení Agent sloučení nahraje změny z předplatitele do vydavatele a poté stáhne změny z vydavatele do účastníka. Každé předplatné má svého vlastního agenta sloučení, který se připojuje k vydavateli i předplatiteli a aktualizuje oba. Agent sloučení běží buď u distributora pro předplatné push, nebo u předplatitele pro předplatné pull. Zde je synchronizace obousměrná. Konflikty dat jsou řešeny sadou spouštěčů, které podporují celý proces

shrnutí

Zatím jsme viděli průchod některých důležitých konceptů replikace serveru SQL. Skripty T-SQL jsou také zobrazeny pro dotazování systémových tabulek a postupů uložených v replikaci, aby odpověděly na většinu běžně kladených otázek o replikaci serveru SQL.

budu diskutovat více o replikaci serveru SQL v nadcházejících článcích. Pokud máte pocit, něco, co lze zlepšit v tomto článku, neváhejte zanechat svůj komentář níže…

obsah

SQL Server replikace: Přehled komponent a topografie

SQL Replikace: Základní nastavení a konfigurace

Jak Přidat/Drop článků z existující publikace v SQL Server,

Jak rychle se odhaduje porovnání dat ve dvou velkých databází SQL Server, jestli jsou stejné

SQL Server transakční replikace: Jak znovu inicializovat předplatné pomocí zálohování databáze Serveru SQL

Jak nastavit vlastní SQL Server transakční replikace model s Centrální Odběratel a Více Vydavatele databází

Jak nastavit vlastní SQL Server transakční replikace s ústřední nakladatelství a vícenásobné účastnické databáze,

Jak nastavit DDL a DML SQL Server databáze transakční replikace řešení,

Jak nastavit cross-platform transakční replikaci serveru SQL Server pro databáze vykazování na Linuxu

databáze serveru SQL Server migrace s nulovou ztrátou dat a žádné prostoje

Pomocí transakční replikace dat na replay a zkušební výrobu zatížení na pracovní server,

Jak nastavit SQL Server replikace databáze pro podávání zpráv serveru

SQL Server transakční replikace: Jak znovu inicializovat předplatné pomocí „Replikace podpora pouze“ –TBA

SQL Server Replikace Sledování a nastavení upozornění pomocí PowerShell –TBA

  • Autora
  • Poslední Příspěvky
Prashanth Jayaram
jsem Databáze technolog mít 11+ let bohaté, praktické zkušenosti na Databázové technologie. Jsem Microsoft Certified Professional a couval s titulem Master of počítačové aplikace.
Moje specializace spočívá v navrhování & prováděcí Vysokou dostupnost řešení a cross-platform DB Migrace. Technologie, které v současné době pracují, jsou SQL Server, PowerShell, Oracle a MongoDB.
Zobrazit všechny příspěvky od Prashanth Jayaram

Prashanth Jayaram
Nejnovější příspěvky Prashanth Jayaram (zobrazit všechny)
  • rychlý přehled z databáze auditu v SQL – 28. ledna 2021
  • Jak nastavit Azure Synchronizace Dat mezi SQL Azure databází a on-premises serveru SQL Server – 20. ledna 2021
  • Jak provést SQL Azure databáze Import/Export operace pomocí PowerShell – 14. ledna 2021