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


Добавление или изменение соединения

Диалоговые окна Добавить соединение и Изменить соединение позволяют добавлять и редактировать фильтры соединения для публикаций слиянием.

ПримечаниеПримечание

Редактирование фильтра в существующей публикации требует создания нового моментального снимка для этой публикации. Если публикация содержит подписки, они должны быть повторно инициализированы. Дополнительные сведения об изменениях свойств см. в разделе Изменение свойств публикации и статей.

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

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

Важное примечаниеВажно!

Фильтры соединений могут включать бесконечное количество таблиц, но фильтры с большим количеством таблиц могут повлиять на производительность во время обработки слияния. При создании фильтров соединений пяти и более таблиц рассмотрите другие решения: не фильтруйте маленькие таблицы, таблицы, которые не предназначены для изменений или являются поисковыми таблицами. Используйте фильтры соединений только между таблицами, которые должны быть разделены среди подписчиков.

Параметры

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

  1. Проверьте отфильтрованную таблицу и выберите соединяемую таблицу

    • При добавлении нового соединения проверьте, что таблица в текстовом поле Отфильтрованная таблица указана правильно (если она указана неправильно, нажмите кнопку Отмена, выберите правильную таблицу на странице Фильтрация строк таблицы и нажмите кнопку Добавить соединение, чтобы вернуться к данному диалоговому окну). Затем выберите таблицу из раскрывающегося списка Соединяемая таблица.

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

  2. Создайте инструкцию соединения

    • При добавлении нового соединения выберите или Использовать конструктор для создания инструкции, или Написать инструкцию соединения вручную. Если начато написание соединения вручную, то нельзя использовать конструктор.

      Если решено применить конструктор, то для создания инструкции соединения используйте столбцы в сетке (Сопряжение, Фильтруемый столбец таблицы, Оператор и Столбец соединяемой таблицы). Каждый столбец в сетке содержит раскрывающийся список, позволяющий выбрать два столбца и оператор (=, <>, <=, <, >=, >, like). Результаты выводятся в текстовом поле Предварительный просмотр. Если в соединении участвуют несколько пар столбцов, выберите конъюнкцию (AND или OR) в столбце Сопряжение, а затем введите еще два столбца и другой оператор.

      Если нужно написать инструкцию вручную, введите ее в текстовом поле Инструкция соединения. Используйте списки Фильтруемые столбцы таблицы и Столбцы соединяемой таблицы для перетаскивания столбцов в текстовое поле Инструкция соединения.

    • При изменении существующего соединения правки производятся вручную.

  3. Укажите параметры соединения

    • Если столбец, по которому нужно соединить отфильтрованную таблицу, является уникальным, выберите Уникальный ключ. Если столбец уникален, то для процесса слияния будут доступны специальные способы оптимизации производительности.

      ПредупреждениеВнимание!

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

    • Microsoft Только в MicrosoftSQL Server 2005 и более поздних версиях. По умолчанию во время синхронизации процесс репликации слиянием обрабатывает изменения построчно. Чтобы связанные изменения обрабатывались в виде блока, выберите Логическая запись. Этот параметр доступен, только если удовлетворяются требования статьи и публикации на использование логических записей. Дополнительные сведения см. в подразделе «Вопросы использования логических записей» раздела Изменения группирования связанных строк с логическими записями.

После добавления или редактирования фильтра нажмите кнопку OK, чтобы сохранить изменения и закрыть диалоговое окно. Заданный фильтр анализируется и выполняется в таблице в предложении SELECT. Если оператор фильтра содержит синтаксические ошибки или встречаются другие проблемы, пользователь уведомляется, после чего может отредактировать эту инструкцию фильтра.