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


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

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

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

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

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

    • Подписчик на транзакционную публикацию может иметь любую версию в пределах двух версий от версии издателя. Например, издатель SQL Server 2008 может иметь подписчиков SQL Server 2014, а издатель SQL Server 2014 может иметь подписчиков SQL Server 2008.

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

Замечание

Этот раздел доступен в документации по настройке и в электронной документации по SQL Server. Ссылки на темы, которые отображаются как полужирный текст в справке по настройке, ссылаются на разделы, доступные только в Books Online.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Вопросы и ответы об администрировании репликации
Обратная совместимость репликации
Поддерживаемые обновления версий и выпусков
Обновление до SQL Server 2014