Inicializace předplatného ručně

Platí pro:SQL ServerAzure SQL Managed Instance

Toto téma popisuje, jak ručně inicializovat předplatné v SQL Server pomocí SQL Server Management Studio nebo Transact-SQL. Zatímco počáteční snapshot se obvykle používá k inicializaci předplatného, předplatné publikací lze inicializovat i bez použití snapshotu, pokud jsou schéma a počáteční data již u odběratele přítomny.

Limitace a omezení

  • Pokud dojde k aktivitě v databázi publikované pomocí transakční replikace mezi tím, kdy jsou data a schéma zkopírována předplatitele, a časem ruční inicializace předplatného, nemusí být změny z této činnosti předplatiteli replikovány.

Použití aplikace SQL Server Management Studio

Předplatné publikace inicializujte ručně kopírováním schématu (a obvykle dat) do databáze předplatného. Schéma a data by měly odpovídat databázi publikací. Poté na stránce Inicializace odběrů v Průvodci novým odběrem zadejte, že odběr nevyžaduje schéma a data. Pro více informací o přístupu k tomuto průvodce viz Inicializace transakčního předplatného bez snapshotu a Vytvoření pull předplatného.

Když poprvé synchronizujete předplatné, objekty a metadata požadovaná replikací se zkopírují do databáze předplatného.

Pro ruční inicializaci předplatného publikace

  1. Ujistěte se, že schéma a data jsou zkopírována do databáze předplatného.

  2. Zrušte zaškrtnutí políčka Inicializovat na stránce Inicializace odběrů v Průvodci novým odběrem. Proveďte to pro každé předplatné, které vyžaduje, aby byly zkopírovány pouze replikační objekty a metadata.

Použití Transact-SQL

Předplatné lze inicializovat ručně pomocí uložených procedur replikace.

Ruční inicializace odběru typu pull pro transakční publikaci

  1. Ujistěte se, že schéma a data existují v databázi předplatného. Další informace naleznete v tématu Inicializace transakčního předplatného bez snímku.

  2. Na serveru Publisher v publikační databázi spusťte sp_addsubscription. Specifikujte @publication, @subscriber, název databáze u odběratele obsahující publikovaná data pro @destination_db, hodnotu pull pro @subscription_type a hodnotu podpory replikace pouze pro @sync_type. Další informace najdete v tématu Vytvoření odběru vyžádané replikace.

  3. U odběratele spusťte příkaz sp_addpullsubscription. Pro aktualizaci odběrů viz Vytvořit aktualizovatelné předplatné transakční publikace.

  4. U odběratele spusťte sp_addpullsubscription_agent. Další informace najdete v tématu Vytvoření odběru vyžádané replikace.

  5. Spusť Distribution Agent pro přenos replikačních objektů a stažení nejnovějších změn od Publisher. Další informace naleznete v tématu Synchronizace vyžádaného odběru.

Pro ruční inicializaci push předplatného transakční publikace

  1. Ujistěte se, že schéma a data existují v databázi předplatného. Další informace naleznete v tématu Inicializace transakčního předplatného bez snímku.

  2. Na serveru Publisher v publikační databázi spusťte sp_addsubscription. Zadejte název databáze u odběratele obsahující publikovaná data pro @destination_db, hodnotu push pro @subscription_type a hodnotu podpory replikace pouze pro @sync_type. Pro aktualizaci odběrů viz Vytvořit aktualizovatelné předplatné transakční publikace.

  3. Na Publikátoru v databázi publikací spusťte sp_addpushsubscription_agent. Pro více informací viz Vytvořit push předplatné.

  4. Spusť Distribution Agent pro přenos replikačních objektů a stažení nejnovějších změn od Publisher. Další informace naleznete v tématu Synchronizace push předplatného.

Ruční inicializace odběrného předplatného pro publikaci sloučení

  1. Ujistěte se, že schéma a data existují v databázi předplatného. To lze provést obnovením zálohy databáze publikací na Subscriber.

  2. Na serveru Publisher spusťte sp_addmergesubscription. Specifikujte @publication, @subscriber, @subscriber_db a hodnotu pull pro @subscription_type. Tím se zaregistruje odběr typu pull.

  3. U odběratele v databázi obsahující zveřejněná data proveďte sp_addmergepullsubscription. Zadejte hodnotu nula pro @sync_type.

  4. Na odběrateli spusťte sp_addmergepullsubscription_agent. Další informace najdete v tématu Vytvoření odběru vyžádané replikace.

  5. Spusť Merge Agent pro přenos replikačních objektů a stažení nejnovějších změn z Publisher. Další informace naleznete v tématu Synchronizace vyžádaného odběru.

Pro ruční inicializaci push předplatného na sloučení publikace

  1. Ujistěte se, že schéma a data existují v databázi předplatného. To lze provést obnovením zálohy databáze publikací na Subscriber.

  2. V Publisher v databázi publikace spusťte sp_addmergesubscription. Zadejte název databáze u odběratele obsahující publikovaná data pro @subscriber_db, hodnotu push pro @subscription_type a hodnotu nula pro @sync_type.

  3. Na serveru Publisher v databázi publikace proveďte sp_addmergepushsubscription_agent. Pro více informací viz Vytvořit push předplatné.

  4. Spusť Merge Agent pro přenos replikačních objektů a stažení nejnovějších změn z Publisher. Další informace naleznete v tématu Synchronizace push předplatného.