Поделиться через


Устаревшие функции репликации SQL Server

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

Новые элементы, устаревшие в SQL Server 2012

Компонент

Описание

Объекты RMO

API-интерфейс объектов RMO устарел. Вместо этого используйте в новых приложениях Transact-SQL

Разнородная репликация

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

Публикация Oracle

Публикация Oracle устарела. Для перемещения данных создайте решения с помощью системы отслеживания измененных данных и служб SSIS.

Элементы, устаревшие в предыдущих версиях

Устаревшие возможности, влияющие на все типы репликации

Следующие функции, применимые ко всем типам репликации, являются устаревшими в SQL Server 2005 и SQL Server 2008.

Возможность

Описание

Присоединяемые подписки

Эта возможность может применяться при развертывании большого количества подписок по запросу, что обычно происходит в репликации слиянием. Вместо присоединяемых подписок рекомендуется применять следующие подходы.

  • Для публикаций слиянием, секционированных при помощи параметризованных фильтров, рекомендуется пользоваться секционированными моментальными снимками, упрощающими инициализацию большого числа подписок.

  • Для несекционированных публикаций можно инициализировать подписку с помощью резервной копии.

В обоих случаях можно автоматизировать создание большого количества подписок с помощью сценария: создайте одну подписку, внесите ее в скрипт, измените скрипт для каждого подписчика и примените скрипт к каждому подписчику, чтобы создать подписку. Дополнительные сведения см. в разделе Создание сценариев репликации.

Регистрация подписчика

Хранимая процедура sp_addsubscriber является устаревшей. Больше не требуется явная регистрация подписчика на издателе.

Объекты SQL-DMO

Существующий код будет продолжать работать, но объекты SQL-DMO не поддерживают новые функции в SQL Server 2005 и SQL Server 2008. Вместо этого используйте объекты RMO. Дополнительные сведения см. в разделе Основные понятия объектов RMO.

Изменение схемы с использованием хранимых процедур sp_repladdcolumn и sp_repldropcolumn

Хранимые процедуры sp_repladdcolumn и sp_repldropcolumn являются устаревшими. Вместо них используйте репликацию изменения схемы.

Хранимые процедуры нельзя использовать для добавления или удаления столбцов с типами данных SQL Server 2005 и более поздних версий: xml, varchar(max), nvarchar(max), varbinary(max) или определяемых пользователем типов, типов datetime2, time, datetimeoffset, hierarchyid, geometry и geography.

Проверка контрольной суммы

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

Добавление публикаций в Active Directory

Добавление публикаций в Active Directory с помощью параметра @add_to_active_directory процедур sp_addpublication или sp_addmergepublication является устаревшей возможностью. Подписка на публикацию путем определения ее расположения в Active Directory является неподдерживаемой функцией.

Параметр -UseInprocLoader

Этот параметр агента распространителя и агента слияния является устаревшим, поскольку он не совместим с типом данных XML. Этот параметр может использоваться, если не выполняется репликация XML-данных. Дополнительные сведения см. в разделах Агент распространения репликации и Агент слияния репликации.

Параметры агентов распространения и слияния PublisherAddress, PublisherNetwork, DistributorNetwork и DistributorAddress

Эти параметры используются, чтобы указать IP-адрес при соединении с издателем или распространителем. Подсистема репликации использует имена серверов для проверки соединения, поэтому рекомендуется использовать псевдоним в клиентских протоколах для сопоставления IP-адреса имени сервера и использовать имя сервера в агентах.

¹  Возможности, устаревшие в SQL Server 2008.

Устаревшие возможности репликации транзакций

В SQL Server 2005 и SQL Server 2008 устарели следующие функции репликации транзакций.

Функция

Описание

Истечение срока подписки для публикаций транзакций

Свойство @retention хранимой процедуры sp_addpublication является устаревшим. Подписки по-прежнему отмечаются как неактивные и должны быть инициализированы повторно, если они не были синхронизированы в течение максимального срока хранения распространения (свойство @max_distretention процедуры sp_adddistributiondb).

Подписки без синхронизации (no sync) на публикации транзакций

Подписка станет подпиской «без синхронизации», если для параметра @sync_type хранимой процедуры sp_addsubscription или sp_addpullsubscription было указано значение none. Если необходимо указать, что требуемая схема и данные уже присутствуют в базе данных подписки, укажите для параметра вместо этого значение replication support only.

Подписчики ODBC

Вместо этого используйте OLE DB для подписчиков, не являющихся подписчиками SQL Server.

Трансформируемые подписки

Эта возможность доступна через интерфейс хранимых процедур и более не поддерживается через интерфейс пользователя. Чтобы использовать эту функцию, необходимо установить службы SQL Server 2000 DTS. Дополнительные сведения см. в разделе Обратная совместимость служб Reporting Services.

Элемент управления ActiveX для распространителя

Этот элемент управления позволяет внедрить агент распространителя в приложение. Вместо этого используйте объекты RMO. Дополнительные сведения см. в разделах Синхронизация подписки по запросу и Синхронизация принудительной подписки.

Интерфейс распространителя репликации

В SQL Server 2000 интерфейс распространителя репликации предоставлял возможность хранения реплицируемых транзакций в базе данных распространителя на сервере распространителя. Этот интерфейс предоставлял возможность публикации из базы данных, не являющейся базой данных SQL Server (чтобы отследить изменения на сервере издателя, было необходимо дополнительное программирование). Хотя данная функция считается устаревшей, существующий код по-прежнему будет работать на сервере, обновленном с версии SQL Server 2000. Дополнительные сведения см. в разделе «Справочник по интерфейсу распространителя репликации» электронной документации по SQL Server 2000.

Репликация на подписчики Oracle 8 или с издателей Oracle 8¹

¹  Возможности, устаревшие в SQL Server 2008.

Устаревшие возможности репликации слиянием

В SQL Server 2005 и SQL Server 2008 устарели следующие функции репликации слиянием.

Функция

Описание

Альтернативные участники синхронизации

Функция альтернативных участников синхронизации позволяет указать альтернативного издателя, с которым может синхронизироваться подписчик.

В SQL Server 2005 и SQL Server 2008 рекомендуется использовать репликацию слиянием вместе с зеркальным отображением базы данных, а не альтернативных участников синхронизации. Дополнительные сведения см. в разделе Зеркальное отображение и репликация баз данных (SQL Server).

Подписки без синхронизации (no sync) на публикации слиянием1

Подписка станет подпиской «без синхронизации», если для параметра @sync_type хранимой процедуры sp_addmergesubscription или sp_addmergepullsubscription было указано значение none. Не рекомендуется использовать данный тип подписки в репликации слиянием.

Элемент управления ActiveX для слияния

Этот элемент управления позволяет внедрить в приложение агент слияния. Используйте вместо этого объекты RMO.

Инструкция UPDATE для нескольких столбцов

Когда репликация слиянием выполняет обновление, все измененные столбцы обновляются в одной инструкции UPDATE, а все значения неизмененных столбцов сбрасываются в первоначальные. Кроме этого, репликация может использовать несколько инструкций UPDATE — по одной на каждый измененный столбец. Как правило, применение инструкции UPDATE к нескольким столбцам является более эффективным.

В версиях SQL Server, предшествующих SQL Server 2005, рекомендовалось указывать значение false для параметра статьи @fast_multicol_updateproc, когда необходимо было учесть случаи, когда обновление нескольких столбцов одной инструкцией UPDATE могло привести к снижению эффективности.

  • Большинство обновлений затрагивают небольшое число столбцов.

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

Благодаря повышению производительности SQL Server этот параметр в подобных случаях больше не требуется.

Параметр -ParallelUploadDownload

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

Свойство @allow_partition_realignment в хранимой процедуре sp_addmergepublication

Этот параметр используется для управления операциями удаления, которые должны быть отправлены подписчикам, если строка удаляется из секции подписчика.

Параметр-ExchangeType

Этот параметр используется, чтобы управлять прохождением агента слияния через фазу передачи данных, фазу загрузки данных или обе. По умолчанию имеет значение 3, чтобы выполнить как передачу, так и загрузку данных. Не рекомендуется режим только передачи данных, так как при этом не реплицируются изменения схемы или процессы инициализации. Функциональность только загрузки можно реализовать с помощью параметра @subscriber_upload_options для статьи. Дополнительные сведения см. в разделе sp_addmergearticle (Transact-SQL).

Свойство @delete_tracking в sp_addmergearticle

Это свойство используется, чтобы остановить операции удаления отслеживания, когда операции удаления необходимо передавать издателю или подписчику. Это можно реализовать с помощью метода DeleteHandler в классе BusinessLogicModule.

Логические записи¹

Эта функция используется для передачи набора связанных строк в одной транзакции. В большинстве случаев применение этой функции приводит к существенному снижению производительности при репликации.

¹  Возможности, устаревшие в SQL Server 2008.

См. также

Основные понятия

Обратная совместимость репликации