Předplatitelé jiného systému než SQL Server

platí pro:SQL Server

Následující předplatitelé mimo SQL Server se mohou přihlásit k odběru snapshotů a transakčních publikací pomocí push předplatného. Dvě nejnovější verze každé uvedené databáze podporují předplatné pomocí nejnovější verze uvedeného poskytovatele OLE DB.

Heterogenní replikace na odběratele jiné než SQL Server je zastaralá. Oracle Publishing je zastaralý. Pro přesun dat vytvářejte řešení pomocí zachycování změn dat a SSIS.

Upozornění

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají.

Databáze Operační systém Provider
Oracle Všechny platformy, které Oracle podporuje Zprostředkovatel Oracle OLE DB (dodaný oraclem)
IBM Db2 MVS, AS400, Unix, Linux, Windows s výjimkou 9.x Poskytovatel OLE DB (Microsoft Host Integration Server)

Informace o verzi Oracle:
SQL Server podporuje následující heterogenní scénáře pro transakční replikaci a replikaci snímků:

  • Publikování dat z SQL Serveru na odběratele jiného typu než SQL Server

  • Publikování dat do a z Oracle má následující omezení:

Replication 2016 nebo starší 2017 nebo novější
Replikace z Oracle Podpora pouze Oracle 10g nebo starší Podpora pouze Oracle 10g nebo starší
Replikace do Oracle Až Oracle 12c Není podporováno

Heterogenní replikace na odběratele jiné než SQL Server je zastaralá. Oracle Publishing je zastaralý. Pro přesun dat vytvářejte řešení pomocí zachycování změn dat a SSIS.

Informace o vytváření předplatných pro Oracle a IBM Db2 naleznete v tématu Předplatitelé Oracle a IBM Db2 Odběratelé.

Úvahy pro ne-SQL Server předplatitele

Mějte na paměti následující faktory při replikaci pro uživatele mimo SQL Server:

Obecné aspekty

  • Replikace podporuje publikování tabulek a indexovaných zobrazení jako tabulek pro odběratele jiné než SQL Server (indexovaná zobrazení nelze replikovat jako indexovaná zobrazení).

  • Když vytvoříte publikaci v Vydavacím wizardu a pak ji povolíte pro ne-SQL Server předplatitele pomocí dialogového okna Vlastnosti publikace, nespecifikujete vlastníka všech objektů v databázi odběratelů pro ne-SQL Server předplatitele. Pro Microsoft SQL Server Subscribers je vlastníkem vlastník odpovídajícího objektu v publikační databázi.

  • Pokud má publikace jak předplatitele SQL Server, tak i ne-SQL Server, musíte publikaci povolit i pro ne-SQL Server předplatitele před vytvořením jakýchkoli předplatitelů SQL Server.

  • Ve výchozím nastavení skripty, které Snapshot Agent generuje pro ne-SQL Server Subscribers, používají v syntaxi CREATE TABLE necitované identifikátory. Proto je publikovaná tabulka pojmenovaná test replikována jako TEST. Pokud chcete použít stejný případ jako tabulka v databázi publikace, použijte parametr -QuotedIdentifier pro distribučního agenta. Parametr -QuotedIdentifier musíte také použít, pokud publikované názvy objektů (například tabulky, sloupce a omezení) obsahují mezery nebo vyhrazená slova ve verzi databáze na ne-SQL Server Subscriber. Další informace o tomto parametru naleznete v tématu Agent distribuce replikace.

  • Účet, pod kterým běží distribuční agent, musí mít přístup pro čtení k instalačnímu adresáři zprostředkovatele OLE DB.

  • Ve výchozím nastavení používá Agent distribuce pro odběratele jiné než SQL Server pro databázi předplatného hodnotu [(default destination)] (parametr -SubscriberDB pro Agenta distribuce):

  • Pokud je distributor SQL Serveru spuštěný na 64bitové platformě, musíte použít 64bitovou verzi příslušného zprostředkovatele OLE DB.

  • Replikace přesouvá data ve formátu Unicode bez ohledu na to, jaké řazení nebo kódové stránky se používají na publikátoru a odběrateli. Při replikaci mezi vydavateli a odběrateli zvolte kompatibilní řazení nebo kódovou stránku.

  • Pokud přidáte nebo smažete článek z publikace, musíte znovu inicializovat odběry u předplatitelů mimo SQL Server.

  • Jediná omezení podporovaná pro všechny ne-SQL Server předplatitele jsou: NULL a NOT NULL. Omezení primárního klíče se replikují jako jedinečné indexy.

  • Různé databáze hodnotou NULL zacházejí různě. Tento rozdíl ovlivňuje, jak jsou reprezentovány prázdné hodnoty, prázdný řetězec a a NULL . Tento rozdíl ovlivňuje chování hodnot vložených do sloupců s definovanými unikátními omezeními. Například Oracle umožňuje více NULL hodnot v jednom sloupci, který je považován za unikátní, zatímco SQL Server povoluje pouze jednu NULL hodnotu v unikátním sloupci.

    Dalším faktorem je, jak se zpracovávají hodnoty NULL, prázdné řetězce a prázdné hodnoty, když je sloupec definován jako NOT NULL. Informace o řešení tohoto problému pro předplatitele Oracle naleznete v tématu Předplatitelé Oracle.

  • Replikace neodstraňuje metadata související s replikací (tabulku sekvencí transakcí) z odběratelů jiných než SQL Server při odebrání odběru.

Vyhovuje požadavkům databáze odběratele

  • Publikované schéma a data musí odpovídat požadavkům databáze u předplatitele. Například pokud má databáze mimo SQL Server menší maximální velikost řádku než SQL Server, ujistěte se, že publikované schéma a data tuto velikost nepřekročí.

  • Tabulky replikované pro odběratele jiné než SQL Server přebírají konvence pojmenování databáze v databázi odběratele.

  • DDL není podporováno pro uživatele mimo SQL Server. Další informace o změnách schématu naleznete v tématu Provést změny schématu v databázích publikace.

Podpora replikačních funkcí

  • SQL Server nabízí dva typy odběrů: push a pull. Předplatitelé jiného systému než SQL Server musí používat nabízená předplatná, ve kterých distribuční agent běží na distributoru SQL Serveru.

  • SQL Server nabízí dva formáty snímků: nativní režim bcp a režim znaků. Předplatitelé jiného typu než SQL Server vyžadují snímky v režimu znaků.

  • Odběratelé jiné než SQL Server nemohou používat odběry s okamžitou aktualizací ani odběry s aktualizací ve frontě ani být uzly v topologii peer-to-peer.

  • Odběratele jiné než SQL Server nelze automaticky inicializovat pomocí zálohy.