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


Обновление реплицируемых баз данных

SQL Server 2012 поддерживает обновление реплицируемых баз данных SQL Server предыдущих версий, при этом на время обновления узла прекращать работу с другими узлами не требуется. Соблюдайте следующие правила, определяющие допустимые версии объектов репликации.

  • Версия распространителя не должна быть ниже версии издателя (во многих случаях распространителем и издателем является один и тот же экземпляр).

  • Версия издателя не должна превышать версию распространителя.

  • Версия подписчика зависит от типа публикации следующим образом.

    • Подписчик на публикацию транзакций может иметь любую версию, отличающуюся от версии издателя, но не более, чем на две версии. Например: Издатель на SQL Server 2005 может работать с подписчиками на SQL Server 2005, SQL Server 2008 (в том числе SQL Server 2008 R2) или SQL Server 2012, и издатель на SQL Server 2012 может работать с подписчиками на SQL Server 2005, SQL Server 2008 (в том числе SQL Server 2008 R2) или SQL Server 2012.

    • Версия подписчика на публикацию слиянием не должна превышать версию издателя.

ПримечаниеПримечание

Этот раздел доступен в справочной документации по программе установки, а также в электронной документации по SQL Server. Ссылки на разделы, выделенные полужирным шрифтом в справке по установке, относятся к разделам, доступным только в электронной документации.

Запуск агента чтения журнала для репликации транзакций перед обновлением

Перед обновлением до SQL Server 2012 необходимо убедиться, что все зафиксированные транзакции из опубликованных таблиц были обработаны агентом чтения журнала. Чтобы это обеспечить, для каждой базы данных, содержащей публикации транзакций, необходимо выполнить следующие шаги.

  1. Убедитесь, что в базе данных запущен агент чтения журнала. По умолчанию агент работает постоянно.

  2. Остановите активность пользователей в опубликованных таблицах.

  3. Подождите, пока агент чтения журнала не скопирует транзакции в базу данных распространителя, затем остановите агент.

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

  5. Выполните процедуру sp_replflush, чтобы закрыть соединение процедуры sp_replcmds.

  6. Выполните обновление сервера до версии SQL Server 2012.

  7. Перезапустите агент SQL Server и агент чтения журнала, если после обновления они не запустятся автоматически.

Выполнение агентов для репликации слиянием после обновления

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

Механизм репликации слиянием хранит метаданные публикации и подписки в нескольких системных таблицах баз данных публикации и подписки. При запуске агента моментальных снимков обновляются метаданные публикации, а при запуске агента слияния — метаданные подписки. Пользователь должен только сформировать моментальный снимок публикации. Если при публикации слиянием используются параметризованные фильтры, каждой секции также соответствует моментальный снимок. Обновлять эти секционированные снимки не требуется.

Для выполнения агентов можно использовать среду Среда SQL Server Management Studio, монитор репликации и окно командной строки. Дополнительные сведения о выполнении агента моментальных снимков см. в следующих разделах.

Дополнительные сведения о выполнении агента слияния см. в следующих разделах.

Если после обновления SQL Server в топологии, в которой используется репликация слиянием, необходимо использовать новые возможности, измените уровень совместимости всех публикаций.

Обновление до выпусков Standard Edition, Workgroup Edition и Express Edition

Перед обновлением с одного выпуска SQL Server 2012 до другого проверьте, что используемые функции поддерживаются в выпуске, до которого производится обновление. Дополнительные сведения см. в подразделе «Функции репликации SQL Server 2012» раздела Функции, поддерживаемые в выпусках SQL Server 2012.

Веб-синхронизация для репликации слиянием

Для использования веб-синхронизации репликации слиянием необходимо скопировать в виртуальный каталог служб IIS, используемый для синхронизации, прослушиватель репликации SQL Server (replisapi.dll). При настройке веб-синхронизации этот файл копируется в виртуальный каталог мастером настройки веб-синхронизации. Для обновления компонентов SQL Server, установленных на сервере IIS, необходимо вручную скопировать библиотеку replisapi.dll из каталога COM в виртуальный каталог сервера IIS. Дополнительные сведения о веб-синхронизации см. в разделе Настройка веб-синхронизации.

Восстановление из копии реплицированной базы данных из предыдущей версии

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

См. также

Справочник

Поддерживаемые обновления версий и выпусков

Основные понятия

Обратная совместимость репликации

Новые возможности (репликация)

обновить версию до SQL Server 2012

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

Администрирование (репликация)