Как синхронизировать подписки репликации вручную с помощью резервного копирования или восстановления

Переводы статьи Переводы статьи
Код статьи: 320499 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается вручную синхронизировать принудительные подписки для репликации с помощью резервного копирования и восстановления.

В некоторых случаях нельзя синхронизировать полной репликации подписки с помощью метода по умолчанию из-за возможных причин:
  1. У вас есть больших таблиц, которые необходимо передать подписчику.
  2. Пропускная способность сети может обрабатывать только добавочные изменения; таким образом, большие BCPs может тайм-аута.
  3. Издатель — это рабочий сервер, таким образом, бизнес должен требовать вниз время быть свернута.
В этих случаях можно использовать резервные копии SQL Server для создания копии опубликованной базы данных затем можно восстановить данные на подписчике; таким образом, можно настроить репликацию и проверить использование репликации без доставки данных схемы или пользователя в сети. В следующих разделах перечисляются шаги и вопросы, которые необходимо использовать, чтобы убедиться в успешной синхронизации вручную.

Репликация транзакций

Репликация транзакций хранит и передает последовательных операций подписчика. Очень важно, что изменения опубликованных таблиц доставляются подписчику в том порядке, в котором они были отправлены.

С помощью новой подписки репликация транзакций отмечает каждое изменение в опубликованной таблице (или таблиц) в журнале транзакций. Метод доставки подписки по умолчанию блокировка таблицы, экспорт данных с помощьюbcpПрограмма снимает блокировку с опубликованных таблиц и затем начинается отслеживание изменений для опубликованной базы данных. В SQL Server 2000Одновременных моментальных снимковфункция повышает издержки блокировки моментальных снимков. SQL Server 2000 и SQL Server 7.0 передача моментального снимка с помощью File Transfer Protocol (FTP). Тем не менее можно использовать метод резервного копирования для ситуаций, где эти параметры не являются допустимыми.

Резервное копирование опубликованной базы данных и восстановление проводится также на стороне подписчика, можно уменьшить время процесса создания моментального снимка в то время, необходимое для создания резервной копии опубликованной базы данных. Резервная копия базы данных включает в себя все объекты, которые не передаются подписчику при репликации, нет необходимости выполнять перенос bcp таблиц в сети.

There are two methods to back up the published database. The first method uses a full backup of the published database. The full backup method works best if the database is small or if the database is not configured for Full Recovery mode. The second method uses a transaction log backup and assumes that you have already captured a full backup of the database. The transaction log backup method decreases the time that the database must be in single-user mode. Transaction log backups take less time than full backups. If you plan to use the transaction log backup method, follow these steps:
  1. If the published database is not running in Full Recovery mode, change it to Full Recovery mode.
  2. Back up the published database.
  3. Back up the log file to minimize the time that it takes to walk through the subscription steps, and then follow the steps in the next procedure.
To set up the subscription, follow these steps:
  1. Place the published database in Single User mode to prevent changes from being made in the database by running the following stored procedure:sp_dboption 'DBNAME', 'single user', 'true'. This prevents changes from being made in the database. This is a critical step; you are making sure that the publisher stays synchronized with the subscriber. You must stop all replication agents that are connected to the database before you run thesp_dboptionХранимая процедура.
  2. If you are using the full backup method, back up the published database. If you are using the transaction log method, back up the transaction log for the published database.
  3. Create a new subscription to your publication. Selectнеto deliver the data and schema.
  4. While you are setting up the subscription, look for the Distribution Agent Schedule screen. Change the task to run only once. (This prevents the Distribution Agent from running until after you restore the database [and the transaction log backup] to the subscriber.)
  5. Remove the database from single-user mode by using the following stored procedure call:sp_dboption 'DBNAME', 'single user', 'false'. Because the subscription is set up, all changes are forwarded to the distribution database.
  6. Restore the database at the subscriber. If you are using the transaction log method, restore the full backup and the transaction log backup. The Distribution Agent should not be running at this point. If it is, it will prevent the database from being restored. The Agent schedule was changed in Step 4.
  7. Generate theВставка,обновление, иDeleteprocedures that are used during replication. You can generate the CREATE PROCEDURE statements for these procedures by running one of the following procedures: (The procedures vary depending on the type of replication and the version of SQL Server)
    1. For SQL Server 2000:sp_scriptpublicationcustomprocs

      Выполнитьsp_scriptpublicationcustomprocson the publisher. This procedure generates text for the stored procedures that are required at the subscriber. Run the generated script on the subscribing database.
    2. For immediate updating and queued subscribers:sp_script_synctran_commands

      Примечание.Immediate updating and queued subscribers are an exception to step 4. You must run the Distribution Agent before you apply the output for thesp_script_synctran_commandsto the subscriber database because the Distribution Agent generates a supporting table that is namedMSsubscription_agents. After you run the Distribution Agent, apply the script that is generated bysp_script_synctran_commandsto the subscriber database. You must also run thesp_scriptpublicationcustomprocsstored procedure for immediate updating subscribers on the publisher and the generated script on the subscribing database.

    3. You must apply the output forsp_script_synctran_commandsto the subscriber database; however, you must first run the Distribution Agent to generate a supporting table namedMSsubscription_agents, and then you can apply the generated output when you runsp_script_synctran_commands. Кроме того, необходимо выполнитьsp_scriptpublicationcustomprocsfor Immediate Updating subscribers on the publisher. Run the generated script on the subscribing database.
    4. For SQL Server 7.0:sp_scriptinsproc,sp_scriptdelproc,sp_scriptupdproc,sp_scriptmappedupdproc

      These procedures generate scripts for the procedures that are required at the subscriber. Run these scripts against the subscribing database.
  8. Start the Distribution Agent. You may want to set up the Distribution Agent to run continuously. To do so, add-Continuousto the Distribution Agent command line.
Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
299903FIX: sp_scriptpublicationcustomprocs generates replication stored procedures

Merge replication

Примечание.No-synch subscriptions are not supported for merge pull subscriptions.

When you use backup or restore to set up a subscription to a merge publication with the no-sync option, follow these steps:
  1. Публикация базы данных, а затем запустите агент моментальных снимков. Если база данных была опубликована, достаточно запустить агент моментальных снимков.

    Все изменения, внесенные на издателе, теперь записываются в системных таблицах репликации слиянием.
  2. Резервное копирование опубликованной базы данных и восстановить ее на стороне подписчика.
  3. Создать новую подписку, а затем выберитеНет, подписчик уже имеет схему и данные.
  4. Запустите агент слияния.

    При запуске агента слияния, сначала использует моментальный снимок для создания таблиц репликации слиянием. Все изменения, внесенные с момента создания моментального снимка, применяются к подписчику.
    • Если в этой процедуре добавлен ни одной строки между этапы 1 и 2, вы увидите новые строки как обновления на подписчике. Из-за восстановления уже существуют строки. Таким образом вы увидите новые строки на подписчике.
    • При удалении всех строк между этапы 1 и 2 в этой процедуре, агент слияния сообщает, что не изменения должны выполняться, потому что строки не могут существовать на подписчике. Резервное копирование или восстановление было выполнено после строки были удалены на издателе.
    • Если строки были обновлены между этапы 1 и 2 таким образом, вы увидите их в качестве обновления на подписчике.

Дополнительная информация

Для получения дополнительных сведений о том, как инициализировать подписку транзакций из резервной копии в SQL Server 2005 посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/ms151705.aspx
Для получения дополнительных сведений о том, как инициализировать подписку слиянием из резервной копии в SQL Server 2005 посетите веб-узлу MSDN:
http://msdn2.Microsoft.com/en-us/library/ms152488.aspx

Свойства

Код статьи: 320499 - Последний отзыв: 24 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
Ключевые слова: 
kbhowtomaster kbmt KB320499 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:320499

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com