Non-SQL Server Subscribers

Область применения: SQL Server

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

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

Внимание

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

База данных Операционная система Provider
Oracle Все платформы, поддерживаемые Oracle Поставщик OLE DB для Oracle (поставляемый Oracle)
IBM Db2 MVS, AS400, Unix, Linux, Windows, за исключением версии 9.x Поставщик OLE DB для Microsoft Host Integration Server (HIS)

Сведения о версии Oracle
SQL Server поддерживает следующие разнородные сценарии репликации транзакций и моментальных снимков:

  • Публикация данных из SQL Server в подписчики, отличные от SQL Server.

  • Публикация данных в Oracle и из Oracle имеет следующие ограничения:

Репликация 2016 или более ранние версии 2017 или более поздние версии
Репликация из Oracle Поддержка только Oracle 10g или более ранних версий Поддержка только Oracle 10g или более ранних версий
Репликация в Oracle Версии до Oracle 12c Не поддерживается

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

Сведения о создании подписок на Oracle и IBM Db2 см. в статье "Подписчики Oracle" и "Подписчики IBM Db2".

Вопросы использования подписчиков, отличных от подписчиков SQL Server

При репликации на подписчики, отличные от SQL Server, следует учитывать следующие рекомендации.

Общие рекомендации

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

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

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

  • По умолчанию скрипты, созданные агент моментальных снимков для подписчиков, отличных от SQL Server, используют нецитированные идентификаторы в синтаксисеCREATE TABLE. Поэтому опубликованная таблица с именем 'test' реплицируется как 'TEST'. Чтобы сохранить регистр символов для имени таблицы публикации, укажите для агента распространителя параметр -QuotedIdentifier . Параметр -QuotedIdentifier также должен использоваться, если опубликованные имена объектов (например, таблицы, столбцы и ограничения) включают пробелы или слова, зарезервированные в версии базы данных на подписчике, отличном от SQL Server. Дополнительные сведения об этом параметре см. в разделе агент распространения репликации.

  • Учетная запись, под которой запускается агент распространителя, должна иметь доступ с правом на чтение к установочному каталогу поставщика OLE DB.

  • По умолчанию для подписчиков, отличных от SQL Server, агент распространения использует значение [(назначение по умолчанию)] для базы данных подписки (параметр -SubscriptionDB для агент распространения):

  • Если распространитель SQL Server работает на 64-разрядной платформе, необходимо использовать 64-разрядную версию соответствующего поставщика OLE DB.

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

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

  • Единственными ограничениями, поддерживаемыми для всех подписчиков, отличных от SQL Server, являются NULL и NOT NULL. Ограничения первичного ключа реплицируются как уникальные индексы.

  • В разных базах данных значение NULL обрабатывается по-разному, что влияет на представление пустых значений, пустых строк и значений NULL. Это в свою очередь влияет на поведение значений, вставляемых в столбцы с определяемыми уникальными ограничениями. Например, Oracle разрешает несколько значений NULL в столбце, который считается уникальным, в то время как SQL Server разрешает только одно значение NULL в уникальном столбце.

    Дополнительным фактором, который следует учитывать, является порядок обработки значений NULL, пустых строк и пустых значений в случае, когда столбец определяется как NOT NULL. Сведения по этому вопросу для подписчиков Oracle см. в разделе Подписчики Oracle.

  • Метаданные, связанные с репликацией (таблица последовательности транзакций), не удаляются из подписчиков, отличных от SQL Server, при удалении подписки.

Соответствие требованиям базы данных подписчика

  • Опубликованные схема и данные должны соответствовать требованиям базы данных подписчика. Например, если база данных, отличной от SQL Server, имеет меньший максимальный размер строки, чем SQL Server, необходимо убедиться, что опубликованная схема и данные не превышают этот размер.

  • Таблицы, реплицированные в подписчики, отличные от SQL Server, будут принимать соглашения об именовании таблиц базы данных на подписчике.

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

Поддержка возможности репликации

  • SQL Server предлагает два типа подписок: отправка и извлечение. Подписчики, отличные от SQL Server, должны использовать push-подписки, в которых агент распространения выполняется на распространителю SQL Server.

  • SQL Server предлагает два формата моментальных снимков: собственный bcp-mode и символьный режим. Подписчики, отличные от SQL Server, требуют моментальных снимков в режиме символов.

  • Подписчики, отличные от SQL Server, не могут использовать немедленное обновление или обновление в очереди подписок или быть узлами в одноранговой топологии.

  • Подписчики, отличные от SQL Server, не могут быть автоматически инициализированы из резервной копии.