Koncepty replikačního programování

Vztahuje se na:SQL ServerAzure SQL Managed Instance

Před vývojem aplikace využívající replikační funkce postupujte podle těchto obecných plánovacích kroků:

  1. Definujte svou replikační topologii.

  2. Definujte funkčnost aplikace.

  3. Plánujte bezpečnost.

  4. Vyberte si vývojové prostředí.

  5. Vyberte vhodné rozhraní pro replikační programování.

Zbytek tohoto článku tyto kroky podrobněji popisuje. Pro ilustraci plánovacího procesu je uveden příklad.

Definování replikační topologie

Prvním krokem při programování replikace je definovat replikační topologii pro vaši aplikaci. Pokud píšete aplikaci, která využívá existující replikační topologii, například klientskou aplikaci, která přistupuje k datům u stávajícího odběratele, přejděte k dalšímu kroku.

Note

V některých případech je nasazení replikační topologie jediným účelem aplikace.

Replikační topologie, kterou definujete, závisí na mnoha faktorech, včetně následujících:

  • Zda je potřeba aktualizovat replikovaná data a kým.

  • Vaše potřeby distribuce dat z hlediska konzistence, autonomie a latence.

  • Replikační prostředí, včetně obchodních uživatelů, technické infrastruktury, sítě a bezpečnosti, a charakteristik dat.

  • Typy replikace a možnosti replikace.

  • Replikační topologie a jejich sladěnost s typy replikace.

Pokud jste v replikaci Microsoft SQL Server noví, podívejte se na Typy replikace.

Definování funkčnosti aplikace

Poté, co definujete replikační topologii, rozhodněte se o funkcích, které vaše aplikace nabízí. Tyto funkce mohou zahrnovat skript, který synchronizuje předplatné aplikace s uživatelským rozhraním pro konfiguraci replikace. Replikace podporuje následující obecné programátorské úkoly:

  • Nastavujeme replikaci.

  • Synchronizace předplatitelů.

  • Udržování replikační topologie.

  • Monitorování replikační topologie.

  • Řešení problémů s replikací.

Je také běžné rozšiřovat aplikaci kombinací replikačních funkcí s dalšími funkcemi poskytovanými SQL Server. Následující tabulka zdůrazňuje některé rozšířené funkce, které můžete ve své aplikaci pro replikaci nabídnout.

Functionality Example
Správa serveru pomocí SQL Server Management Objects (SMO) Aplikace, která umožňuje administrátorovi připojit a konfigurovat databázi jako Publisher v replikační topologii.
Přístup k datům pomocí ADO.NET Aplikace, která umožňuje uživatelům programovaně přistupovat k replikovaným prodejním datům v lokální databázi odběratelů a měnit je během offline režimu a poté se připojit a synchronizovat pull předplatné výběrem tlačítka.

Plánování bezpečnosti

Bezpečnost je důležitá v každé aplikaci a měli byste si ji naplánovat ještě před psaním jakéhokoliv kódu. Bezpečnost aplikací lze rozdělit do tří hlavních částí: zabezpečení databáze, zabezpečení replikace a psaní bezpečného kódu.

Následující články poskytují informace o bezpečnosti:

Volba vývojového prostředí

Když vyvíjíte replikační aplikaci, zvažte tato tři základní vývojová prostředí. Každé vývojové prostředí má přístup ke stejným replikačním funkcím s několika výjimkami. Můžete vyvíjet replikační aplikace v každém z následujících prostředí.

  • Spravovaný kód

    Objektově orientované vývojové prostředí, které využívá výhody programování .NET Framework a běžného prostředí .NET common language (CLR). Spravovaný kód je doporučené programovací prostředí jak pro vývoj .NET, tak pro SQL Server aplikace. Spravovaná replikační rozhraní vám umožní programovat správu replikace objektově orientovaným způsobem, aniž byste museli znát Transact-SQL. Také poskytuje některé funkce zpětného volání při spouštění replikačních agentů, které nejsou dostupné ze skriptů. Spravovaný kód je nejlepší prostředí pro vývoj znovupoužitelných komponent a aplikací uživatelského rozhraní.

  • Scripting

    Jednoduché aplikace, které vykonávají sérii příkazů buď jako replikační systém, ukládají procedury ve Transact-SQL skriptech nebo příkazy v dávkových souborech. Zatímco skripty můžete spouštět ve spravovaném prostředí pomocí SQL Server in-process managed provider, stejnou funkcionalitu získáte pomocí spravovaných replikačních rozhraní, která také poskytují funkce callbacku. Skriptování je nejlepší prostředí pro provádění úloh, které se spustí jen několikrát a kde nejsou potřeba funkce zpětného volání, například instalace replikačního serveru.

  • Nativní kód

    Objektově orientované vývojové prostředí, které využívá přímý přístup k systému nebo COM objektům tak, že kód není spravován CLR. Nativní rozhraní pro replikaci kódu jsou zastaralá nebo ukončena. Pro více informací viz Zastaralé funkce v replikaci SQL Server nebo Zpětné kompatibilitě replikace.

Vyberte vhodné rozhraní pro replikační programování

Posledním krokem plánování je výběr vhodného rozhraní pro replikační programování, které implementuje požadovanou replikační funkcionalitu pro zvolené vývojové prostředí. Následující tabulka ukazuje dostupná rozhraní pro replikační programování.

Interface Environment Použití
koncepty objektů správy replikace Spravovaný kód Správa, monitorování a synchronizace.
Microsoft.SqlServer.Replication Spravovaný kód Synchronizace.
Microsoft.SqlServer.Replication.BusinessLogicSupport Spravovaný kód Vytvoření obslužných nástrojů obchodní logiky pro integraci vlastní logiky s procesem synchronizace při sloučení.
Replikační uložené procedury (Transact-SQL) Scripting Administrace a monitorování.
Koncepty Spustitelných Souborů Agenta Replikace Scripting Synchronizace.

Example

V Adventure Works je třeba zveřejnit data pro 200 obchodních zástupců po celém světě. Obchodní zástupci často cestují a potřebují používat notebooky nebo osobní digitální asistenty (PDA) ke změně zákaznických údajů a přidání nových objednávek. Obchodní zástupci musí synchronizovat změny s Publisher při připojení notebooku k síti.

Pro tuto žádost mohou plánovací kroky vypadat takto:

  1. Replikační topologie pro tuto aplikaci již existuje. Nicméně musíte vytvořit nové pull předplatné u klienta. Používejte parametrizované filtry v publikaci k replikaci jedinečné sady dat pro každého obchodního zástupce.

  2. Kromě běžného přístupu k datům požadovaného pro prodejní aplikaci by tato aplikace měla umožnit obchodníkovi synchronizovat pull předplatné na vyžádání kliknutím na tlačítko. Protože obchodní zástupce aplikaci instaluje a spouští ji, musí také umět nastavit předplatné a aplikovat počáteční snapshot na klienta. Volitelně aplikace využívá infrastrukturu poskytovanou Windows pro detekci bezdrátového připojení a automaticky synchronizuje předplatné při detekci připojení.

  3. Dodržujte všechny bezpečnostní pokyny pro replikaci, včetně použití Windows Authentication a virtuální privátní sítě (VPN) při připojení k Publisher. Pokud implementujete webovou synchronizaci, použijte připojení Transport Layer Security (TLS), dříve známé jako Secure Sockets Layer (SSL). Pro více informací viz Konfigurace webové synchronizace.

  4. Pro využití funkcí .NET Frameworku vyvíjejte aplikaci pomocí spravovaného kódového jazyka.

  5. Na základě těchto požadavků může spravované rozhraní Replication Management Objects (RMO) poskytnout veškerou potřebnou replikační funkcionalitu pro tuto aplikaci.

Můžete si stáhnout ukázkovou aplikaci AdventureWorks, která tento příklad scénáře implementuje, ze SQL Server.