Поделиться через


How to: Initialize a Subscription Manually (Replication Transact-SQL Programming)

While the initial snapshot is normally used to initialize a subscription, subscriptions to publications can be initialized without using a snapshot, provided that the schema and initial data are already present at the subscriber.

ms147897.note(ru-ru,SQL.90).gifВажно!
If there is activity on a database published using transactional replication between the time data and schema are copied to the Subscriber and the time at which the subscription is manually initialized, changes resulting from this activity might not be replicated to the Subscriber.

Subscriptions can be initialized manually using replication stored procedures.

To manually initialize a pull subscription to a transactional publication

  1. Ensure that the schema and data exist on the subscription database. For more information, see Инициализация подписки на публикацию транзакций без моментального снимка.

  2. At the Publisher on the publication database, execute sp_addsubscription. Specify @publication, @subscriber, the name of the database at the Subscriber containing the published data for @destination_db, a value of pull for @subscription_type, and a value of replication support only for @sync_type. For more information, see Как создавать подписки по запросу (программирование репликации на языке Transact-SQL).

  3. At the Subscriber, execute sp_addpullsubscription. For updating subscriptions, see How to: Create an Updatable Subscription to a Transactional Publication (Replication Transact-SQL Programming).

  4. At the Subscriber, execute sp_addpullsubscription_agent. For more information, see Как создавать подписки по запросу (программирование репликации на языке Transact-SQL).

  5. Start the Distribution Agent to transfer replication objects and download the latest changes from the Publisher. For more information, see Как синхронизировать подписку по запросу (программирование репликации).

To manually initialize a push subscription to a transactional publication

  1. Ensure that the schema and data exist on the subscription database. For more information, see Инициализация подписки на публикацию транзакций без моментального снимка.

  2. At the Publisher on the publication database, execute sp_addsubscription. Specify the name of the database at the Subscriber containing the published data for @destination_db, a value of push for @subscription_type, and a value of replication support only for @sync_type. For updating subscriptions, see How to: Create an Updatable Subscription to a Transactional Publication (Replication Transact-SQL Programming).

  3. At the Publisher on the publication database, execute sp_addpushsubscription_agent. For more information, see Как создавать принудительные подписки (программирование репликации на языке Transact-SQL).

  4. Start the Distribution Agent to transfer replication objects and download the latest changes from the Publisher. For more information, see Как синхронизировать принудительную подписку (программирование репликации).

To manually initialize a pull subscription to a merge publication

  1. Ensure that the schema and data exist on the subscription database. This can be done by restoring a backup of the publication database at the Subscriber. For more information, see Инициализация подписки на публикацию слиянием без моментального снимка.

  2. At the Publisher, execute sp_addmergesubscription. Specify @publication, @subscriber, @subscriber_db, and a value of pull for @subscription_type. This registers the pull subscription.

  3. At the Subscriber on the database containing the published data, execute sp_addmergepullsubscription. Specify a value of none for @sync_type.

  4. At the Subscriber, execute sp_addmergepullsubscription_agent. For more information, see Как создавать подписки по запросу (программирование репликации на языке Transact-SQL).

  5. Start the Merge Agent to transfer replication objects and download the latest changes from the Publisher. For more information, see Как синхронизировать подписку по запросу (программирование репликации).

To manually initialize a push subscription to a merge publication

  1. Ensure that the schema and data exist on the subscription database. This can be done by restoring a backup of the publication database at the Subscriber. For more information, see Инициализация подписки на публикацию слиянием без моментального снимка.

  2. At the Publisher on the publication database, execute sp_addmergesubscription. Specify the name of the database at the Subscriber containing the published data for @subscriber_db, a value of push for @subscription_type, and a value of none for @sync_type.

  3. At the Publisher on the publication database, execute sp_addmergepushsubscription_agent. For more information, see Как создавать принудительные подписки (программирование репликации на языке Transact-SQL).

  4. Start the Merge Agent to transfer replication objects and download the latest changes from the Publisher. For more information, see Как синхронизировать принудительную подписку (программирование репликации).

См. также

Другие ресурсы

Резервное копирование и восстановление из копий реплицируемых баз данных
Как инициализировать подписку вручную (среда SQL Server Management Studio)
Инициализация подписки на публикацию слиянием без моментального снимка
Инициализация подписки на публикацию транзакций без моментального снимка

Справка и поддержка

Получение помощи по SQL Server 2005