Меню

Настройка репликаций в db2



Руководство по Настройка репликации между двумя полностью подключенными серверами (репликация транзакций) Tutorial: Configure replication between two fully connected servers (transactional)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)

Репликация транзакций — это хорошее решение для перемещения данных между постоянно подключенными серверами. Transactional replication is a good solution to the problem of moving data between continuously connected servers. С помощью мастера репликации можно легко настроить и администрировать топологию репликации. By using the Replication Wizard, you can easily configure and administer a replication topology.

В этом руководстве описано, как настроить топологию для репликации транзакций для постоянно подключенных серверов. This tutorial shows you how to configure a transactional replication topology for continuously connected servers. См. дополнительные сведения о репликации транзакций. For more information about how transactional replication works, see the overview of transactional replication.

Новые знания What you will learn

Из этого руководства вы узнаете, как публиковать данные из одной базы данных в другую, используя репликацию транзакций. This tutorial teaches you to publish data from one database to another by using transactional replication.

В этом учебнике рассматривается следующее. In this tutorial, you will learn how to:

  • создание издателя путем репликации транзакций; Create a publisher via transactional replication.
  • создание подписчика для издателя транзакций; Create a subscriber for the transactional publisher.
  • проверка подписки и измерение задержки. Validate the subscription and measure latency.

Предварительные требования Prerequisites

Это руководство для пользователей, которые умеют выполнять основные операции с базами данных и которые имеют ограниченный опыт репликации. This tutorial is for users who are familiar with basic database operations, but who have limited experience with replication. Перед тем как приступить к работе с этим учебником, необходимо освоить Учебник. Подготовка SQL Server к репликации. Before you start this tutorial, you must complete Tutorial: Prepare SQL Server for replication.

Для работы с этим учебником требуется SQL Server, среда SQL Server Management Studio (SSMS) и база данных AdventureWorks. To complete this tutorial, you need SQL Server, SQL Server Management Studio (SSMS), and an AdventureWorks database:

На сервере-издателе (источник) установите следующее: At the publisher server (source), install:

  • Любой выпуск SQL Server SQL Server , кроме SQL Server Express или SQL Server Compact. Any edition of SQL Server SQL Server , except SQL Server Express or SQL Server Compact. Эти выпуски не могут быть издателями репликации. These editions cannot be replication publishers.
  • Образец базы данных AdventureWorks2012AdventureWorks2012 . The AdventureWorks2012AdventureWorks2012 sample database. В целях повышения безопасности образцы баз данных по умолчанию не устанавливаются. To enhance security, the sample databases are not installed by default.

На сервере-подписчике (целевом) установите любой выпуск SQL Server SQL Server , кроме SQL Server Compact SQL Server Compact . At the subscriber server (destination), install any edition of SQL Server SQL Server , except SQL Server Compact SQL Server Compact . SQL Server Compact SQL Server Compact не может быть подписчиком при репликации транзакций. cannot be a subscriber in transactional replication.

Скачайте пример базы данных AdventureWorks. Download the AdventureWorks sample database. См. дополнительные сведения о восстановлении базы данных в среде SSMS. For instructions on restoring a database in SSMS, see Restoring a database.

  • Репликация не поддерживается в экземплярах SQL Server, которые отличаются друг от друга больше, чем на две версии. Replication is not supported on SQL Server instances that are more than two versions apart. См. дополнительные сведения о поддерживаемых версиях SQL Server в топологии репликации. For more information, see Supported SQL Server Versions in Replication Topology.
  • В среде SQL Server Management Studio SQL Server Management Studio необходимо подключиться к издателю и подписчику с помощью имени входа, которое является членом предопределенной роли сервера sysadmin. In SQL Server Management Studio SQL Server Management Studio , you must connect to the publisher and subscriber by using a login that is a member of the sysadmin fixed server role. Дополнительные сведения о роли см. в статье Роли уровня сервера. For more information on this role, see Server-level roles.

На изучение этого руководства потребуется примерно 60 минут Estimated time to complete this tutorial: 60 minutes

Настройка издателя для репликации транзакций Configure the publisher for transactional replication

В этом разделе с помощью среды SQL Server Management Studio SQL Server Management Studio создается публикация транзакций для публикации фильтрованного подмножества таблицы Продукт из примера базы данных AdventureWorks2012 AdventureWorks2012 . In this section, you create a transactional publication by using SQL Server Management Studio SQL Server Management Studio to publish a filtered subset of the Product table in the AdventureWorks2012 AdventureWorks2012 sample database. Также в список доступа к публикации (PAL) добавляется имя входа SQL Server, используемое агентом распространителя. You also add the SQL Server login used by the Distribution Agent to the publication access list (PAL).

Читайте также:  Ниссан альмера классик настройка сцепления

Создание публикации и определение статей Create a publication and define articles

Подключитесь к издателю в среде SQL Server Management Studio SQL Server Management Studio , а затем раскройте узел сервера. Connect to the publisher in SQL Server Management Studio SQL Server Management Studio , and then expand the server node.

Щелкните правой кнопкой мыши элемент Агент SQL Server и выберите пункт Запустить. Right-click SQL Server Agent and select Start. Прежде чем приступить к созданию публикации, необходимо запустить агент SQL Server. The SQL Server Agent should be running before you create the publication. Если при выполнении этого действия агент не запускается автоматически, его нужно запустить вручную с помощью диспетчера конфигурации SQL Server. If this step does not start your agent, you’ll need to do so manually from SQL Server Configuration Manager.

Разверните папку Репликация, щелкните правой кнопкой мыши папку Локальные публикации и выберите пункт Создать публикацию. Expand the Replication folder, right-click the Local Publications folder, and select New Publication. После этого запустится мастер создания публикации: This step starts the New Publication Wizard:

На странице База данных публикации выберите AdventureWorks2012 AdventureWorks2012 и нажмите кнопку Далее. On the Publication Database page, select AdventureWorks2012 AdventureWorks2012 , and then select Next.

На странице Тип публикации выберите Публикация транзакций и нажмите кнопку Далее: On the Publication Type page, select Transactional publication, and then select Next:

На странице Статьи разверните узел Таблицы и установите флажок Продукт. On the Articles page, expand the Tables node and select the Product check box. Затем разверните узел Продукт и снимите флажки ListPrice и StandardCost. Then expand Product and clear the check boxes next to ListPrice and StandardCost. Выберите Далее. Select Next.

На странице Фильтрация строк таблицы нажмите кнопку Добавить. On the Filter Table Rows page, select Add.

В диалоговом окне Добавление фильтра выберите столбец SafetyStockLevel. In the Add Filter dialog box, select the SafetyStockLevel column. Щелкните стрелку вправо, чтобы добавить столбец в предложение WHERE инструкции фильтра запроса. Select the right arrow to add the column to the filter statement WHERE clause of the filter query. После этого вручную введите следующий модификатор предложения WHERE: Then manually type in the WHERE clause modifier as follows:

Нажмите кнопку ОК, а затем кнопку Далее. Select OK, and then select Next.

Установите флажок Создать моментальный снимок немедленно и обеспечить доступ к нему для инициализации подписок и нажмите кнопку Далее: Select the Create a snapshot immediately and keep the snapshot available to initialize subscriptions check box, and select Next:

На странице Безопасность агентов снимите флажок Использовать настройки безопасности агента моментальных снимков. On the Agent Security page, clear the Use the security settings from the Snapshot Agent check box.

Выберите Настройки безопасности для агента моментальных снимков. Select Security Settings for the Snapshot Agent. Введите \repl_snapshot в поле Учетная запись процесса, укажите пароль этой учетной записи и нажмите кнопку ОК. Enter \repl_snapshot in the Process account box, supply the password for this account, and then select OK.

Повторите предыдущий шаг, чтобы указать \repl_logreader в качестве учетной записи процесса для агента чтения журнала. Repeat the previous step to set \repl_logreader as the process account for the Log Reader Agent. Нажмите кнопку ОК. Then select OK.

На странице Завершение работы мастера введите AdvWorksProductTrans в поле Имя публикации и нажмите кнопку Готово: On the Complete the Wizard page, type AdvWorksProductTrans in the Publication name box, and select Finish:

После создания публикации нажмите кнопку Закрыть, чтобы закрыть мастер. After the publication is created, select Close to complete the wizard.

Если при попытке создать публикацию обнаруживается, что агент SQL Server не запущен, может возникнуть следующая ошибка. You might encounter the following error if your SQL Server Agent is not running when you try to create the publication. Она указывает на то, что публикация создана успешно, но при этом агент моментальных снимков запустить не удалось. This error indicates that your publication was created successfully but your Snapshot Agent was unable to start. В этом случае необходимо запустить агент SQL Server, а затем вручную запустить агент моментальных снимков. If this happens, you’ll need to start the SQL Server Agent, and then manually start the Snapshot Agent. Инструкции приведены в следующем разделе. The next section gives instructions.

Просмотр состояния создания моментального снимка View the status of snapshot generation

Подключитесь к издателю в среде SQL Server Management Studio SQL Server Management Studio , а затем разверните узел сервера и папку Репликация. Connect to the publisher in SQL Server Management Studio SQL Server Management Studio , expand the server node, and then expand the Replication folder.

Читайте также:  Workcentre 5024 пример настройки сканирования

В папке Локальные публикации щелкните правой кнопкой мыши публикацию AdvWorksProductTrans и выберите пункт Просмотр состояния агента моментальных снимков: In the Local Publications folder, right-click AdvWorksProductTrans, and then select View Snapshot Agent Status:

Отобразятся сведения о текущем состоянии задания агента моментальных снимков для публикации. The current status of the Snapshot Agent job for the publication appears. Перед тем как перейти к следующему разделу, убедитесь, что задание моментального снимка выполнено успешно. Verify that the snapshot job has succeeded before you continue to the next section.

Если агент SQL Server не был запущен при создании публикации, в сведениях о состоянии агента моментальных снимков для публикации будет указано, что он никогда не запускался. If your SQL Server Agent was not running when you created the publication, you’ll see that the Snapshot Agent was never run when you check the Snapshot Agent status for your publication. В таком случае выберите Запустить, чтобы запустить агент моментальных снимков: If that’s the case, select Start to start your Snapshot Agent:

Если отображается сообщение об ошибке, ознакомьтесь с разделом Устранение неполадок с агентом моментальных снимков. If you see an error here, see Troubleshooting Snapshot Agent error.

Добавление имени входа агента распространения в список доступа к публикации Add the Distribution Agent login to the PAL

Подключитесь к издателю в среде SQL Server Management Studio SQL Server Management Studio , а затем разверните узел сервера и папку Репликация. Connect to the publisher in SQL Server Management Studio SQL Server Management Studio , expand the server node, and then expand the Replication folder.

В папке Локальные публикации щелкните правой кнопкой мыши публикацию AdvWorksProductTrans и выберите пункт Свойства. In the Local Publications folder, right-click AdvWorksProductTrans, and then select Properties. Откроется диалоговое окно Свойства публикации. The Publication Properties dialog box appears.

а. a. Выберите страницу Список доступа к публикации и нажмите кнопку Добавить. Select the Publication Access List page, and select Add.
b. b. В диалоговом окне Добавление доступа к публикации выберите \repl_distribution и нажмите кнопку ОК. In the Add Publication Access dialog box, select \repl_distribution, and select OK.

Создание подписки на публикацию транзакций Create a subscription to the transactional publication

В рамках этого раздела к созданной ранее публикации добавляется подписчик. In this section, you add a subscriber to the publication that you previously created. В этом руководстве используется удаленный подписчик (NODE2\SQL2016), но при необходимости подписку для издателя можно добавить локально. This tutorial uses a remote subscriber (NODE2\SQL2016), but you can also add a subscription locally to the publisher.

Создание подписки Create the subscription

Подключитесь к издателю в среде SQL Server Management Studio SQL Server Management Studio , а затем разверните узел сервера и папку Репликация. Connect to the publisher in SQL Server Management Studio SQL Server Management Studio , expand the server node, and then expand the Replication folder.

В папке Локальные публикации щелкните правой кнопкой мыши публикацию AdvWorksProductTrans и выберите команду Создать подписку. In the Local Publications folder, right-click the AdvWorksProductTrans publication, and then select New Subscriptions. Запустится мастер создания подписки: The New Subscription Wizard starts:

На странице Публикация выберите публикацию AdvWorksProductTrans и нажмите кнопку Далее: On the Publication page, select AdvWorksProductTrans, and then select Next:

На странице Расположение агента распространения установите флажок Выполнять все агенты в распространителе и нажмите кнопку Далее. On the Distribution Agent Location page, select Run all agents at the Distributor, and then select Next. Дополнительные сведения о подписках см. в статье Подписка на публикации. For more information on pull and push subscriptions, see Subscribe to publications.

На странице Подписчики, если имя экземпляра подписчика не отображается, выберите пункт Добавить подписчик, а затем выберите Добавить подписчик SQL Server из раскрывающегося списка. On the Subscribers page, if the name of the subscriber instance is not displayed, select Add Subscriber, and then select Add SQL Server Subscriber from the drop-down list. После этого откроется диалоговое окно Подключение к серверу. This step opens the Connect to Server dialog box. Введите имя экземпляра подписчика, а затем выберите Подключиться. Enter the subscriber instance name and then select Connect.

Добавив подписчик, установите флажок рядом с именем его экземпляра. After the subscriber has been added, select the check box next to the instance name of your subscriber. Затем выберите пункт Создать базу данных в разделе База данных подписки. Then select New Database under Subscription Database.

Откроется диалоговое окно Новая база данных. The New Database dialog box appears. Введите ProductReplica в поле Имя базы данных, нажмите кнопку ОК и затем кнопку Далее: Enter ProductReplica in the Database name box, select OK, and then select Next:

На странице Безопасность агента распространения нажмите кнопку с многоточием ( ). On the Distribution Agent Security page, select the ellipsis (. ) button. Введите \repl_distribution в поле Учетная запись процесса, введите пароль этой учетной записи, нажмите кнопку ОК, а затем — кнопку Далее. Enter \repl_distribution in the Process account box, enter the password for this account, select OK, and then select Next.

Нажмите кнопку Готово, чтобы принять значения по умолчанию на оставшихся страницах и завершить работу мастера. Select Finish to accept the default values on the remaining pages and complete the wizard.

Установка разрешений базы данных на подписчике Set database permissions at the subscriber

Подключитесь к подписчику в SQL Server Management Studio SQL Server Management Studio . Connect to the subscriber in SQL Server Management Studio SQL Server Management Studio . Разверните узел Безопасность, щелкните правой кнопкой мыши Имена для входа, а затем выберите команду Создать имя для входа. Expand Security, right-click Logins, and then select New Login.

а. a. На странице Общие в разделе Имя для входа выберите Найти и добавьте имя для входа для \repl_distribution. On the General page, under Login Name, select Search and add the login for \repl_distribution.

b. b. На странице Сопоставления пользователей назначьте базе данных ProductReplica членство с именем для входа db_owner. On the User Mappings page, grant the login db_owner membership for the ProductReplica database.

Нажмите кнопку ОК, чтобы закрыть диалоговое окно Создание имени для входа. Select OK to close the New Login dialog box.

Просмотр сведений о состоянии синхронизации подписки View the synchronization status of the subscription

Подключитесь к издателю в SQL Server Management Studio SQL Server Management Studio . Connect to the publisher in SQL Server Management Studio SQL Server Management Studio . Разверните узел сервера и папку Репликация. Expand the server node, and then expand the Replication folder.

В папке Локальные публикации разверните публикацию AdvWorksProductTrans, щелкните правой кнопкой мыши подписку в базе данных ProductReplica и выберите пункт Просмотр состояния синхронизации. In the Local Publications folder, expand the AdvWorksProductTrans publication, right-click the subscription in the ProductReplica database, and then select View Synchronization Status. Отобразятся сведения о текущем состоянии синхронизации подписки: The current synchronization status of the subscription appears:

Если подписка не отображается под публикацией AdvWorksProductTrans, нажмите клавишу F5 для обновления списка. If the subscription is not visible under AdvWorksProductTrans, select the F5 key to refresh the list.

Дополнительные сведения см. в разделе: For more information, see:

Измерение задержки репликации Measure replication latency

При работе с этим разделом необходимо использовать трассировочные маркеры, чтобы проверить состояние репликации изменений и определить задержку. In this section, you use tracer tokens to verify that changes are being replicated to the subscriber and to determine latency. Задержка определяет время, требуемое для отображения в подписчике изменений, внесенных в издателе. Latency is the time it takes for a change made at the publisher to appear to the subscriber.

Подключитесь к издателю в SQL Server Management Studio SQL Server Management Studio . Connect to the publisher in SQL Server Management Studio SQL Server Management Studio . Разверните узел сервера, щелкните правой кнопкой мыши папку Репликация и выберите пункт Запустить монитор репликации: Expand the server node, right-click the Replication folder, and then select Launch Replication Monitor:

Разверните группу издателей на левой панели, затем разверните экземпляр издателя и выберите публикацию AdvWorksProductTrans. Expand a publisher group in the left pane, expand the publisher instance, and then select the AdvWorksProductTrans publication.

а. a. Откройте вкладку Трассировочные токены. Select the Tracer Tokens tab.
b. b. Выберите команду Вставить трассировочный токен. Select Insert Tracer.
c. c. Просмотрите затраченное время для трассировочного токена в следующих столбцах: От издателя к распространителю, От распространителя к подписчику, Общая задержка. View elapsed time for the tracer token in the following columns: Publisher to Distributor, Distributor to Subscriber, Total Latency. Значение Ожидание указывает на то, что маркер еще не достиг указанной точки. A value of Pending indicates that the token has not reached a specified point.

Дополнительные сведения см. в разделе: For more information, see:

Дальнейшие действия Next steps

Вы успешно настроили издатель и подписчик для репликации транзакций. You have successfully configured both your publisher and your subscriber for transactional replication. Теперь вы можете вставлять, обновлять и удалять данные в таблице Продукт на стороне издателя. You can now insert, update, or delete data in the Product table at the publisher. После этого вы можете выполнить запрос к таблице Продукт в подписчике, чтобы просмотреть реплицированные изменения. Then you can query the Product table at the subscriber to view the replicated changes.

В следующей статье будет описана настройка репликации слиянием: The next article will teach you how to configure merge replication:

Источник

Adblock
detector