Подписчики, отличные от подписчиков SQL Server
Следующие подписчики, не относящиеся к SQL Server, могут подписаться на публикации моментальных снимков и публикации транзакций, используя принудительные подписки. Подписки поддерживаются для двух самых последних версий каждой из баз данных, приведенных в списке, с использованием самой последней версии поставщика OLE DB из приводимого списка.
Разнородная репликация на подписчики, отличные от подписчика SQL Server, устарела. Публикация Oracle устарела. Для перемещения данных создайте решения с помощью системы отслеживания измененных данных и служб Службы SSIS.
Внимание! |
---|
В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. |
База данных |
Операционная система |
Поставщик |
---|---|---|
Oracle |
Все платформы, поддерживаемые 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, с помощью диалогового окна «Свойства публикации», владелец всех объектов в базе данных подписки не указывается для подписчиков, отличных от подписчиков 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 для агента распространителя):
Для СУБД Oracle сервер имеет не более одной базы данных, поэтому нет необходимости указывать базу данных.
Для СУБД IBM DB2 база данных указывается в строке соединения с DB2. Дополнительные сведения см. в разделе Создание подписки для подписчика, отличного от подписчика SQL Server.
Если распространитель 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, должны использовать принудительные подписки, для которых агент распространителя запускается на распространителе SQL Server.
SQL Server предлагает для использования два формата моментальных снимков: собственный bcp-режим и символьный режим. Подписчики, не относящиеся к SQL Server, требуют использования моментальных снимков символьного формата.
Подписчики, не относящиеся к SQL Server, не могут использовать подписки с немедленным обновлением или обновлением посредством очередей и не могут быть узлами одноранговой топологии.
Подписчики, не относящиеся к SQL Server, не могут быть автоматически инициализированы из резервной копии.