Подписчики, не используя SQL Server

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

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

Осторожность

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

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

Сведения о создании подписок на Oracle и IBM DB2 см. в разделе "Подписчики Oracle " и "Подписчики IBM DB2".

Вопросы, которые стоит учитывать для подписчиков, не использующих 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, агент распространителя использует значение [(назначение по умолчанию)] для базы данных подписки (параметр -SubscriberDB для агента распространителя):

  • Если распространитель 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, не могут быть автоматически инициализированы из резервной копии.

См. также

Разнородная репликация базы данных
Подписка на публикации