Использование нескольких версий SQL Server в топологии репликации

Изменения: 15 сентября 2007 г.

Поддерживается репликация данных в различные версии Microsoft SQL Server. В этом разделе описываются:

  • поддерживаемые версии SQL Server;
  • сопоставление типов данных SQL Server 2005 для предыдущих версий
  • восстановление реплицированной базы данных из предыдущей версии;
  • уровень совместимости для публикаций слиянием.

Сведения о репликации данных в выпусках Microsoft SQL Server 2005 Express Edition и Microsoft SQL Server Compact Edition см. в разделах Репликация данных в SQL Server Express и Репликация данных на экземпляр SQL Server Compact Edition. Сведения о возможностях, поддерживаемых каждым выпуском SQL Server, см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2005.

ms143241.note(ru-ru,SQL.90).gifПримечание.
Этот раздел доступен в справочной документации по программе установки, а также в электронной документации по SQL Server 2005. Ссылки на разделы, выделенные полужирным шрифтом в справочной документации по установке, относятся к разделам, доступным только в электронной документации по .

Поддерживаемые версии SQL Server

SQL Server версии 7.0 с пакетом обновления 4 (SP4) является минимальной версией, необходимой для участия в топологии репликации с SQL Server 2005. При использовании SQL Server 2000 необходим пакет обновления 3 (SP3) или более поздний.

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

ms143241.note(ru-ru,SQL.90).gifПримечание.
Формат хранения данных SQL Server на диске одинаков в 64-разрядной и 32-разрядной среде, поэтому в топологию репликации можно объединить экземпляры серверов, работающие в 32-разрядной и 64-разрядной средах.

Для всех типов репликации версия распространителя должна быть не ниже версии издателя (во многих случаях распространитель является тем же экземпляром, что и издатель). SQL Server 2005 можно использовать в качестве удаленного распространителя для SQL Server 2005 и SQL Server 2000, но не для SQL Server версии 7.0. В следующих таблицах приведены дополнительные сведения о том, какие версии SQL Server могут принимать участие в одной топологии. Дополнительные сведения о возможностях репликации, поддерживаемых в различных выпусках SQL Server, см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2005.

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

Распространитель

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Издатель

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Подписчики

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

В таблице выше показано, что подписчик на публикацию транзакций, способный только читать данные, может иметь любую версию, отличающуюся от версии издателя не более чем на две версии. Например, издатель SQL Server версии 7.0 может иметь подписчиков SQL Server 2005, а издатель SQL Server 2005 может иметь подписчиков SQL Server версии 7.0.

Репликация транзакций с обновляемыми подписчиками

Распространитель

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Издатель

SQL Server 7.01

SQL Server 7.01

SQL Server 20002

SQL Server 20002

SQL Server 20053

Подписчики

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

1 Для издателя SQL Server версии 7.0 в качестве подписчиков поддерживаются только SQL Server версии 7.0.

2 Для издателя SQL Server 2000 версии 7.0 в качестве подписчиков поддерживаются SQL Server версии 7.0, SQL Server 2000 и SQL Server 2005.

3 Для издателя SQL Server 2005 поддерживаются подписчики SQL Server 2000 и SQL Server 2005.

Репликация слиянием

Распространитель

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Издатель

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Подписчики

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 7.0

SQL Server 2000

SQL Server 2005

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

SQL Server 7.0 и среда SQL Server Management Studio

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

  • Подписки и публикации могут быть созданы с помощью инструментальных средств SQL Server версии 7.0, средств SQL Server 2000, объектов SQL-DMO или хранимых процедур.
  • Агенты для подписок по запросу не могут быть запущены из среды Management Studio или из монитора репликации. Запуск агентов по расписанию может быть назначен при создании подписки, либо они могут запускаться из командной строки.

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

Применение распространителя SQL Server 2005 с издателем, который запущен на SQL Server 2000

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

Если на издателе и на распространителе запущен SQL Server 2000, то с помощью процедур sp_changedistpublisher и sp_changesubscriber можно изменить учетные данные, под которыми агенты устанавливают соединения. Однако если распространитель обновляется до SQL Server 2005, эти процедуры не могут быть использованы для изменения учетных данных, применяемых в существующих заданиях агентов (они оказывают влияние только на те задания агента, которые создаются после вызова процедуры). Чтобы изменить учетные данные для существующих заданий агентов, вызовите одну из четырех приведенных выше процедур.

Сопоставление типов данных SQL Server 2005 для предыдущих версий

В SQL Server 2005 добавлен ряд новых типов данных. Эти новые типы данных сопоставляются с совместимыми типами данных подписчика при использовании принудительных подписок от распространителя SQL Server 2005.

Тип данных SQL Server 2005 Тип данных SQL Server 2000 или SQL Server 7.0

xml

ntext

Определяемые пользователем типы данных CLR

image

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

При репликации на подписчики, работающие под управлением более ранней версии SQL Server, нужно проверить правильность сопоставления типов данных varchar(max), nvarchar(max), varbinary(max), xmlL и определяемых пользователем типов данных CLR (это выполняется по умолчанию для статей в публикациях слиянием). Процесс сопоставления для этих типов управляется параметрами схемы 0x20, 0x10000000 и 0x20000000 процедур sp_addarticle и sp_addmergearticle. Дополнительные сведения о настройке параметров схемы см. в разделах Как указать параметры схемы (среда SQL Server Management Studio) и How to: Specify Schema Options (Replication Transact-SQL Programming).

В SQL Server 2000 добавлены два новых типа данных, которые сопоставляются с совместимыми типами данных SQL Server версии 7.0. Эти новые типы данных сопоставляются с совместимыми типами данных подписчика при использовании принудительных подписок от распространителя SQL Server 2005 или SQL Server 2000.

Тип данных SQL Server 2005 или SQL Server 2000 Тип данных SQL Server 7.0

SQL_VARIANT

IMAGE

BIGINT

DECIMAL

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

Можно сохранить настройки репликации при восстановлении резервной копии реплицируемой базы данных из предыдущей версии. При восстановлении из резервных копий серверов и баз данных с теми же именами, что и у сервера или базы данных, для которых была сделана резервная копия, или при указании параметра KEEP_REPLICATION параметры репликации сохраняются. Дополнительные сведения см. в разделе RESTORE (Transact-SQL). После восстановления базы данных из копии выполните хранимую процедуру sp_vupgrade_replication (Transact-SQL), чтобы обновить схему и системные данные для поддержки репликации на текущем уровне продукта.

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

Уровень совместимости для публикаций слиянием

Репликация слиянием использует уровень совместимости публикаций, чтобы определить, какие возможности могут быть использованы публикациями в указанной базе данных. Диапазон значений: от 70RTM (SQL Server версии 7.0 без установленных пакетов обновления) до 90RTM. Уровень совместимости указан:

Для следующих возможностей необходим уровень совместимости 90RTM и выше.

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

Поведение уровня совместимости публикации в SQL Server 2005

Важно понимать поведение уровня совместимости публикации.

  • Уровень совместимости публикации не связан с уровнем совместимости базы данных.
  • Если публикация создается с помощью процедуры sp_addmergepublication или объектов RMO, по умолчанию уровень совместимости публикации устанавливается в значение 80RTM. Если публикация создается мастером создания публикаций, уровень совместимости публикации определяется на основании параметров, выбранных на странице мастера Типы подписчиков.
  • В предыдущих версиях SQL Server уровень совместимости публикаций автоматически увеличивался, если включались функции, требуемые на более высоком уровне. В SQL Server 2005 необходимо вручную установить уровень совместимости публикаций в значение 90RTM перед включением функции, для которой необходим этот уровень совместимости.
    При обновлении издателя SQL Server версии 7.0 и последующем выборе одной или нескольких возможностей, которые потребуют уровень совместимости публикаций 80RTM, уровень совместимости автоматически увеличится.
  • Уровень совместимости публикации может быть уменьшен только в том случае, если агент моментальных снимков не был запущен и нет подписок на публикацию.
  • Все публикации в одной базе данных должны иметь одинаковый уровень совместимости. Из этого вытекает следующее.
    • Если база данных содержит публикацию с меньшим уровнем совместимости (например, 80RTM), а в ту же базу данных необходимо добавить другую публикацию с уровнем совместимости 90RTM, то перед добавлением новой публикации необходимо вручную увеличить уровень совместимости первой публикации.
    • Если база данных содержит две или более публикации с более низкими уровнями совместимости и нужно добавить еще одну публикацию в ту же базу данных с уровнем 90RTM, необходимо: удалить все публикации, кроме одной, увеличить уровень оставшейся публикации до 90RTM, повторно создать удаленные публикации с уровнем 90RTM и создать новую публикацию с уровнем 90RTM.

См. также

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

Обратная совместимость репликации
Обновление реплицируемых баз данных

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

Улучшения в репликации

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

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

Журнал изменений

Версия Журнал

15 сентября 2007 г.

Добавления
  • Добавлены сведения о том, что формат хранения данных SQL Server на диске в 64-разрядной и 32-разрядной средах одинаков.

14 апреля 2006 г.

Измененное содержимое
  • Добавлены таблицы для уточнения того, какие версии SQL Server можно использовать в той же топологии репликации.
  • Добавлены сведения о параметрах схемы, применяемой при сопоставлении типов данных.
  • Удалены сведения о том, что SQL Server версии 7.0 может использовать экземпляр SQL Server 2005 в качестве удаленного распространителя. Эта конфигурация не поддерживается.