Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Следующие подписчики, не использующие SQL Server, могут подписываться на публикации моментальных снимков и транзакционные публикации с помощью push-подписок. Две самые свежие версии каждой базы данных перечисляли подписки поддержки с использованием самой последней версии указанного провайдера OLE DB.
Гетерогенная репликация для подписчиков, не использующих SQL Server, устарела. Публикация Oracle объявлена устаревшей. Для перемещения данных создайте решения с использованием технологии отслеживания изменённых данных и SSIS.
Внимание
Эта функция будет удалена в будущей версии 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
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 Subscriber. Дополнительные сведения об этом параметре см. в разделе агент распространения репликации.Учетная запись, под которой запускается агент распространителя, должна иметь доступ с правом на чтение к установочному каталогу поставщика OLE DB.
По умолчанию для абонентов, не входящих в SQL Server, агент распространения использует значение
[(default destination)]для базы данных подписки (параметр -SubscriberDB для агент распространения):Для Oracle сервер имеет максимум одну базу данных, поэтому указывать её не нужно.
Для IBM Db2 укажите базу данных в строке подключения DB2. Дополнительные сведения см. в статье Создание подписки для подписчика, отличного от подписчика SQL Server.
Если распространитель SQL Server работает на 64-разрядной платформе, необходимо использовать 64-разрядную версию соответствующего поставщика OLE DB.
Репликация передает данные в формате Unicode независимо от правил сортировки или кодовых страниц, используемых на Издателе и Подписчике. При репликации между издателями и подписчиками выбирайте совместимую коллацию или кодовую страницу.
Если вы добавляете или удаляете статью из публикации, необходимо повторно инициализировать подписки для подписчиков, не использующих SQL Server.
Единственные ограничения, поддерживаемые для всех не-SQL Server подписчиков:
NULLиNOT NULL. Ограничения первичного ключа реплицируются как уникальные индексы.Разные базы данных по-разному обрабатывают значение
NULL. Это различие влияет на то, как представлены пустое значение, пустая строка и aNULL. Это различие влияет на поведение значений, вставленных в столбцы с уникальными ограничениями. Например, 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 и символьный формат. Подписчикам, не использующим SQL Server, необходимы моментальные снимки в символьном режиме.
Подписчики, не использующие SQL Server, не могут использовать подписки с немедленным обновлением или с отложенным обновлением, а также быть узлами в топологии «равный-равному».
Подписчики без SQL Server нельзя автоматически инициализировать из резервной копии.