Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После создания публикации можно добавить и удалить статьи. Статьи можно добавлять в любое время, но действия, необходимые для удаления статей, зависят от типа репликации и при удалении статьи.
Добавление статей
Добавление статьи включает в себя добавление статьи в публикацию; создание нового моментального снимка для публикации; синхронизация подписки для применения схемы и данных для новой статьи.
Замечание
При добавлении статьи в публикацию слияния, если существующая статья зависит от новой статьи, необходимо указать порядок обработки обеих статей с помощью параметра @processing_order функций sp_addmergearticle и sp_changemergearticle. Рассмотрим следующий сценарий: вы публикуете таблицу, но не публикуете функцию, на которую ссылается таблица. Если вы не опубликуете функцию, таблица не может быть создана у подписчика. При добавлении функции в публикацию: укажите значение 1 для параметра @processing_order sp_addmergearticle; и укажите значение 2 для параметра @processing_order sp_changemergearticle, указав имя таблицы для параметра @article. Этот порядок обработки гарантирует, что вы создаете функцию у подписчика перед таблицей, которая зависит от нее. Для каждой статьи можно использовать разные числа, если число функции меньше числа для таблицы.
Добавьте одну или несколько статей с помощью одного из следующих методов:
После добавления статьи в публикацию, необходимо создать новый снимок для публикации (а также всех разделов, если это публикация слиянием с параметризованными фильтрами). Затем агент распространения или агент слияния копирует схему и данные для новой статьи подписчику (при этом не происходит повторной инициализации всей публикации).
Чтобы создать новый моментальный снимок, см. Создание и применение начального моментального снимка.
Чтобы создать новый моментальный снимок для публикации для объединения с параметризованными фильтрами, см. статью "Создание моментального снимка для публикации с параметризованными фильтрами".
После создания моментального снимка синхронизируйте подписку, чтобы скопировать схему и данные для новой статьи.
Сведения о синхронизации принудительной подписки см. в разделе "Синхронизация принудительной подписки".
Чтобы синхронизировать подписку по запросу, см. статью "Синхронизация подписки по запросу".
Удаление статей
Статьи могут быть удалены из публикации в любое время, но необходимо учитывать следующее поведение:
Удаление статьи из публикации не удаляет объект из базы данных публикации или соответствующего объекта из базы данных подписки. Используйте DROP <Object>, чтобы удалить эти объекты при необходимости. При удалении статьи, связанной с другими опубликованными статьями с помощью ограничений внешнего ключа, рекомендуется удалить таблицу на подписчике вручную или с помощью выполнения скрипта по запросу: укажите сценарий, содержащий соответствующие <инструкции DROP Object> . Дополнительные сведения см. в разделе Выполнение скриптов во время синхронизации (программирование репликации Transact-SQL).
Для публикаций слияния с уровнем совместимости 90RTM или более поздней версии статьи можно исключить в любое время, но требуется новый снимок состояния. Кроме того:
Если статья является родительской статьей в фильтре соединения или связи логических записей, отношения должны быть удалены сначала, что требует повторной инициализации.
Если в статье есть последний параметризованный фильтр в публикации, подписки должны быть повторно инициализированы.
Для публикаций объединения с уровнем совместимости ниже 90RTM статьи можно удалить без учета особых требований до полной синхронизации подписок. Если статья удаляется после синхронизации одной или нескольких подписок, необходимо удалить, повторно создать и синхронизировать подписки.
Для публикаций моментальных снимков или транзакций статьи можно удалить без особых соображений перед созданием подписок. Если статья удаляется после создания одной или нескольких подписок, необходимо удалить, повторно создать и синхронизировать подписки. Дополнительные сведения об удалении подписок см. в разделе "Подписка на публикации " и sp_dropsubscription (Transact-SQL). sp_dropsubscription позволяет удалить одну статью из подписки, а не всю подписку.
Исключение статьи из публикации включает удаление статьи и создание новой версии публикации. Удаление элемента делает недействительным текущий моментальный снимок; поэтому необходимо создать новый моментальный снимок.
- Чтобы удалить статью из публикации, см. статью "Добавление статей в публикацию" (SQL Server Management Studio) иудаление статьи.
После исключения элемента из публикации необходимо создать новый снимок состояния для публикации (и всех разделов, если это публикация слияния с параметризованными фильтрами).
Чтобы создать новый моментальный снимок, см. раздел "Создание и применение начального моментального снимка".
Чтобы создать новый моментальный снимок для публикации для слияния с параметризованными фильтрами, см. статью Создание моментального снимка для публикации слиянием с параметризованными фильтрами.
Как отмечалось выше, в некоторых случаях при удалении статьи требуется удалить, повторно создать и синхронизировать подписки. Дополнительные сведения см. в разделе "Подписка на публикации " и "Синхронизация данных".
См. также
Публикация объектов данных и баз данных
Повторная инициализация подписок
Изменение схем на публикационных базах данных