Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Toto téma popisuje, jak vytvořit předplatné pro předplatitele jiného než SQL Serveru v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Transakční replikace a replikace snímků podporuje publikování dat pro uživatele, kteří nejsou odběrateli SQL Serveru. Informace o podporovaných platformách odběratelů najdete v tématu Odběratelé nevyužívající SQL Server.
V tomto tématu
Pokud chcete vytvořit předplatné pro předplatitele jiného než SQL Serveru, použijte:
Použití aplikace SQL Server Management Studio
Vytvoření předplatného pro předplatitele jiného než SQL Serveru:
Nainstalujte a nakonfigurujte příslušný klientský software a zprostředkovatele OLE DB na Distributor SQL Serveru. Další informace najdete v tématu Předplatitelé Oracle a předplatitelé IBM Db2.
Vytvořte publikaci pomocí Průvodce vytvořením nové publikace. Další informace o vytváření publikací naleznete v tématu Vytvoření publikace a vytvoření publikace z Oracle Database. V Průvodci vytvořením nové publikace zadejte následující možnosti:
Na stránce Typ publikace vyberte Snímek publikace nebo Transakční publikace.
Na stránce Snímek agenta zrušte zaškrtnutí políčka Vytvořit snímek okamžitě.
Snímek vytvoříte po povolení publikace pro předplatitele jiného systému než SQL Server, aby se zajistilo, že agent snímků vygeneruje snímky a inicializační skripty vhodné pro předplatitele jiného systému než SQL Server.
Povolte publikaci pro odběratele jiného typu než SQL Server pomocí dialogového okna Vlastnosti publikace – <Název publikace> . Další informace o tomto kroku naleznete v tématu Vlastnosti publikace, Možnosti odběru .
Vytvořte předplatné pomocí Průvodce vytvořením nového předplatného. Toto téma obsahuje další informace o tomto kroku.
(Volitelné) Změňte vlastnost pre_creation_cmd článku tak, aby se u odběratele zachovaly tabulky. Toto téma obsahuje další informace o tomto kroku.
Vygenerujte snímek pro publikaci. Toto téma obsahuje další informace o tomto kroku.
Synchronizujte předplatné. Další informace naleznete v tématu Synchronizace push předplatného.
Pro povolení publikace pro jiné než SQL Server předplatitele
Připojte se k Publisheru v aplikaci SQL Server Management Studio a potom rozbalte uzel serveru.
Rozbalte složku Replikace a potom rozbalte složku Místní publikace .
Klepněte pravým tlačítkem myši na publikaci a klepněte na příkaz Vlastnosti.
Na stránce Možnosti předplatného vyberte hodnotu True pro možnost Povolit předplatitelům jiného typu než SQL Server. Výběrem této možnosti změníte řadu vlastností, aby byla publikace kompatibilní s předplatiteli jiného systému než SQL Server.
Poznámka:
Když vyberete True, nastaví se hodnota vlastnosti článku pre_creation_cmd na 'drop'. Toto nastavení určuje, že replikace by měla odstranit tabulku u odběratele, pokud odpovídá názvu tabulky v článku. Pokud máte existující tabulky u odběratele, kterého chcete zachovat, použijte sp_changearticle uloženou proceduru pro každý článek; zadejte hodnotu none pro pre_creation_cmd:
sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.Vyberte OK. Zobrazí se výzva k vytvoření nového snímku publikace. Pokud ho nechcete vytvořit nyní, postupujte podle pokynů popsaných v dalším návodu později.
Vytvoření předplatného pro předplatitele jiného než SQL Serveru
Rozbalte složku Replikace a potom rozbalte složku Místní publikace .
Klepněte pravým tlačítkem myši na příslušnou publikaci a potom klepněte na tlačítko Nové odběry.
Na stránce Umístění distribučního agenta se ujistěte, že je vybraná možnost Spustit všechny agenty u distributora. Předplatitelé jiného typu než SQL Server nepodporují spouštění agentů u odběratele.
Na stránce Odběratelé klepněte na tlačítko Přidat odběratele a poté klepněte na tlačítko Přidat odběratele serveru, který není typu SQL.
V dialogovém okně Přidat odběratele jiného než SQL Serveru vyberte typ odběratele.
Zadejte hodnotu do názvu zdroje dat:
Pro Oracle se jedná o název transparentního síťového podkladu (TNS), který jste nakonfigurovali.
U IBM to může být libovolný název. Obvykle se určuje síťová adresa odběratele.
Název zdroje dat zadaný v tomto kroku a pověření zadaná v kroku 9 nejsou tímto průvodcem ověřena. Replikace se nepoužívají, dokud se pro předplatné nespustí distribuční agent. Ujistěte se, že byly všechny hodnoty testovány připojením k odběrateli pomocí klientského nástroje (například sqlplus pro Oracle). Další informace najdete v tématu Předplatitelé Oracle a předplatitelé IBM Db2.
Vyberte OK. Na stránce Odběratelé v průvodci se nyní odběratel zobrazí ve sloupci Odběratel s poznámkou pro čtení (výchozí cíl) ve sloupci Databáze předplatného:
Pro Oracle má server maximálně jednu databázi, takže databázi není nutné zadávat.
Pro IBM Db2 je databáze zadána ve vlastnosti Počáteční katalog připojovacího řetězce DB2, který lze zadat do pole Další možnosti připojení popsané dále v tomto procesu.
Na stránce Zabezpečení distribučního agenta klikněte na tlačítko Vlastnosti (...) vedle odběratele pro přístup k dialogovému okně Zabezpečení distribučního agenta .
V dialogovém okně Zabezpečení distribučního agenta :
Do polí Účet procesu, Heslo a Potvrzení hesla zadejte účet a heslo Systému Microsoft Windows, pod kterým by měl distribuční agent běžet a provádět místní připojení k distributoru.
Účet vyžaduje tato minimální oprávnění: člen db_owner pevné databázové role v distribuční databázi; člen přístupového seznamu publikace (PAL); oprávnění ke čtení sdíleného adresáře pro snímky; i oprávnění ke čtení instalačního adresáře zprostředkovatele OLE DB. Další informace o PAL naleznete v tématu Zabezpečení vydavatele.
V části Připojit k odběrateli v polích Pro přihlášení, Heslo a Potvrzení hesla zadejte přihlašovací jméno a heslo, které by se mělo použít pro připojení k odběrateli. Toto přihlášení by už mělo být nakonfigurované a mělo by mít dostatečná oprávnění k vytváření objektů v databázi předplatného.
V poli Další možnosti připojení zadejte všechny možnosti připojení odběratele ve formě připojovacího řetězce (Oracle nevyžaduje další možnosti). Každá možnost by měla být oddělena středníkem. Následuje příklad připojovacího řetězce DB2 (konce řádků jsou pro čitelnost):
Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252; PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL; Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT; Persist Security Info=False;Connection Pooling=True;Většina možností v řetězci je specifická pro server DB2, který konfigurujete, ale možnost Binární proces jako znak by měla být vždy nastavena na Hodnotu False. Hodnota je vyžadována pro možnost Počáteční katalog k identifikaci databáze předplatného.
Na stránce Plán synchronizace vyberte plán pro distribučního agenta z nabídky Plán agenta (plán se obvykle spouští nepřetržitě).
Na stránce Initialize Subscriptions (Inicializovat předplatná ) určete, jestli se má předplatné inicializovat, a pokud ano, kdy se má inicializovat:
Vymazat inicializaci pouze v případě, že jste vytvořili všechny objekty a přidali všechna požadovaná data v databázi předplatného.
Vyberte Immediately z rozevíracího seznamu ve sloupci Initialize When, aby distribuční agent po dokončení tohoto průvodce přenesl soubory snímků odběrateli. Vyberte Při první synchronizaci, aby agent přenesl soubory při dalším naplánovaném spuštění.
Na stránce Akce průvodce volitelně skriptujte odběr. Pro více informací viz Replikace skriptování.
Zachování tabulek u odběratele
- Povolením publikování pro předplatitele jiného typu než SQL Server ve výchozím nastavení nastavíte hodnotu vlastnosti článku pre_creation_cmd na drop. Toto nastavení určuje, že replikace by měla odstranit tabulku u odběratele, pokud odpovídá názvu tabulky v článku. Pokud máte existující tabulky u odběratele, kterého chcete zachovat, použijte sp_changearticle uloženou proceduru pro každý článek; zadejte hodnotu none pro pre_creation_cmd.
sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.
Vygenerování snímku pro publikaci
Rozbalte složku Replikace a potom rozbalte složku Místní publikace .
Klepněte pravým tlačítkem myši na publikaci a klikněte na Zobrazit stav agenta snímku.
V dialogovém okně Zobrazit stav agenta snímku – <Publikace> klepněte na tlačítko Start.
Po dokončení generování snímku agentem se zobrazí zpráva, například "[100%] Snímek 17 článků byl vygenerován."
Použití Transact-SQL
Pomocí uložených procedur replikace můžete programově vytvářet push předplatná pro předplatitele mimo SQL Server.
Důležité
Pokud je to možné, vyzve uživatele, aby za běhu zadali přihlašovací údaje zabezpečení. Pokud musíte přihlašovací údaje uložit do souboru skriptu, musíte ho zabezpečit, abyste zabránili neoprávněnému přístupu.
Vytvoření push odběru pro transakční nebo snímkovou publikaci pro odběratele, který není SQL Server.
Nainstalujte nejnovějšího zprostředkovatele OLE DB pro odběratele jiného systému než SQL Server v publisheru i distributoru. Požadavky na replikaci pro zprostředkovatele OLE DB naleznete v tématu Non-SQL Server Předplatitelé, Předplatitelé Oracle, IBM Db2 Předplatitelé.
V aplikaci Publisher v databázi publikace ověřte, zda publikace podporuje odběratele jiného typu než SQL Server spuštěním sp_helppublication (Transact-SQL).
Pokud je hodnota enabled_for_het_sub 1, podporují se předplatitelé jiného typu než SQL Server.
Pokud je hodnota enabled_for_het_sub 0, spusťte sp_changepublication (Transact-SQL), zadejte enabled_for_het_sub pro
@propertya true pro@value.Poznámka:
Před změnou enabled_for_het_sub na true musíte do publikace vypustit všechna existující předplatná. Nelze nastavit enabled_for_het_sub na hodnotu True , pokud publikace podporuje také aktualizaci odběrů. Změna enabled_for_het_sub ovlivní další vlastnosti publikace. Další informace naleznete v tématu Odběratelé jiných než SQL serverů.
V aplikaci Publisher v databázi publikace spusťte sp_addsubscription (Transact-SQL). Zadejte
@publication,@subscriber, hodnotu pro(default destination), hodnotu@destination_dbpush pro@subscription_typea hodnotu 3 pro@subscriber_type(specifikuje poskytovatele OLE DB).V publikátoru databáze publikací spusťte sp_addpushsubscription_agent (Transact-SQL). Zadejte následující:
Parametry
@subscribera@publication.Hodnota (výchozí cíl) pro
@subscriber_db,Vlastnosti jiného zdroje dat než SQL Server pro
@subscriber_provider,@subscriber_datasrc,@subscriber_location,@subscriber_provider_stringa@subscriber_catalog.Přihlašovací údaje systému Microsoft Windows, pod kterými běží distribuční agent u distributora
@job_logina@job_password.
Poznámka:
Připojení vytvořená pomocí integrovaného ověřování systému Windows vždy používají pověření systému Windows určená
@job_logina@job_password. Distribuční agent vždy vytvoří místní připojení k distributoru pomocí integrovaného ověřování systému Windows. Ve výchozím nastavení se agent připojí k odběrateli pomocí integrovaného ověřování systému Windows.Hodnota 0 pro
@subscriber_security_modea přihlašovací údaje zprostředkovatele OLE DB pro@subscriber_logina@subscriber_password.Harmonogram pro úlohu distribučního agenta pro toto předplatné. Další informace naleznete v tématu Určení plánů synchronizace.
Důležité
Při vytváření push předplatného v systému Publisher se vzdáleným distributorem se hodnoty zadané pro všechny parametry, včetně job_login a job_password, odešlou distributorovi jako prostý text. Před spuštěním této uložené procedury byste měli šifrovat připojení mezi vydavatelem a jeho vzdáleným distributorem. Další informace najdete v tématu Povolení šifrovaných připojení k databázovému stroji (SQL Server Configuration Manager).