Подписчики, отличные от подписчиков SQL Server
Следующие подписчики, не относящиеся к SQL Server, могут подписаться на публикации моментальных снимков и публикации транзакций, используя принудительные подписки. Подписки поддерживаются для двух самых последних версий каждой из баз данных, приведенных в списке, с использованием самой последней версии поставщика OLE DB из приводимого списка.
База данных | Операционная система | Поставщик |
---|---|---|
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. Дополнительные сведения об этом параметре см. в разделе Replication Distribution Agent.
- Учетная запись, под которой запускается агент распространителя, должна иметь доступ с правом на чтение к установочному каталогу поставщика OLE DB.
- По умолчанию для подписчиков, не относящихся к SQL Server, агент распространителя использует значение [(адреса по умолчанию)] для базы данных подписки (параметр -SubscriberDB для агента распространителя):
- Для СУБД Oracle сервер имеет не более одной базы данных, поэтому нет необходимости указывать базу данных.
- Для СУБД IBM DB2 база данных указывается в строке соединения с DB2. Дополнительные сведения см. в разделах Как создать подписку для подписчика, отличного от подписчика SQL Server (среда SQL Server Management Studio) и How to: Create a Subscription for a Non-SQL Server Subscriber (Replication Transact-SQL Programming).
- Если распространитель 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 Management Studio не разрешает публикации SQL Server 2000 для подписчиков, отличных от подписчиков SQL Server. Чтобы разрешить публикации SQL Server 2000 для подписчиков, отличных от подписчиков SQL Server, используйте мастер создания публикаций, который вызывается из программы Enterprise Manager, входящей в состав SQL Server 2000. В мастере создания публикаций на странице Определить типы подписчиков выберите Гетерогенные источники данных, например Oracle или Microsoft Access.
Соответствие требованиям базы данных подписчика
- Опубликованные схема и данные должны соответствовать требованиям базы данных подписчика. Например, если база данных, не относящаяся к SQL Server, имеет меньший максимальный размер строки, чем SQL Server, то следует убедиться, что опубликованные схема и данные не превышают этот размер.
- Таблицы, которые реплицируются на подписчики, не относящиеся к SQL Server, должны следовать соглашениям об именовании таблиц базы данных подписчика.
- Подписчики, не относящиеся к SQL Server, поддерживают только те изменения схемы, которые соответствуют синтаксису базы данных подписчика. Дополнительные сведения об изменениях схем см. в разделе Внесение изменений схем в базы данных публикаций.
Поддержка возможности репликации
- SQL Server предлагает два типа подписок: принудительные и по запросу. Подписчики, не относящиеся к SQL Server, должны использовать принудительные подписки, для которых агент распространителя запускается на распространителе SQL Server.
- SQL Server предлагает для использования два формата моментальных снимков: собственный bcp-режим и символьный режим. Подписчики, не относящиеся к SQL Server, требуют использования моментальных снимков символьного формата.
- Подписчики, не относящиеся к SQL Server, не могут использовать подписки с немедленным обновлением или обновлением посредством очередей и не могут быть узлами одноранговой топологии.
- Подписчики, не относящиеся к SQL Server, не могут быть автоматически инициализированы из резервной копии.
См. также
Основные понятия
Репликация гетерогенных баз данных
Подписка на публикации