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


Как определить и изменить фильтр соединения между статьями публикации слиянием (среда SQL Server Management Studio)

Задать, изменить и удалить фильтры соединения можно на странице Фильтрация строк таблицы мастера создания публикаций или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация>. Дополнительные сведения об использовании этого мастера и о доступе к этому диалоговому окну см. в разделах Как создать публикацию и определить статьи (среда SQL Server Management Studio) и Как просмотреть и изменить свойства публикации и статьи (среда SQL Server Management Studio).

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

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

Фильтры соединения можно создать вручную для набора таблиц, или же репликация может создать эти фильтры автоматически, основываясь на связях между внешними ключами и первичными ключами, заданных в таблицах. Дополнительные сведения об автоматическом создании фильтров соединения см. в разделе Как автоматически сформировать набор фильтров соединения между статьями публикаций слиянием (среда SQL Server Management Studio).

Определение фильтра соединения

  1. На странице Фильтрация строк таблицы в мастере создания публикаций или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация> выберите существующий фильтр строк или фильтр соединения в области Отфильтрованные таблицы.

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

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

  2. Щелкните Добавить и выберите Добавить соединение для расширения выбранного фильтра....

  3. Создайте инструкцию объединения: выберите либо Использовать построитель для создания инструкции, либо Создать инструкцию объединения вручную.

    • При использовании построителя для создания инструкции соединения используйте столбцы в сетке (сопряжение, столбец отфильтрованной таблицы, оператор и столбец соединяемой таблицы).

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

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

    • Полная инструкция объединения будет выглядеть таким образом:

      SELECT <published_columns> FROM [Sales].[SalesOrderHeader] INNER JOIN [Sales].[SalesOrderDetail] ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID]
      

      В предложении JOIN необходимо использовать имена, состоящие их двух частей; имена, состоящие из трех и четырех частей не поддерживаются.

  4. Задайте параметры объединения.

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

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

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

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

  5. Нажмите кнопку ОК.

  6. В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.

Изменение фильтра соединения

  1. На странице Фильтрация строк таблицы мастера создания публикаций или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация> выберите фильтр в области Отфильтрованные таблицы и нажмите кнопку Правка.

  2. В окне Изменить соединение измените фильтр.

  3. Нажмите кнопку ОК.

Удаление фильтра соединения

  • На странице Фильтрация строк таблицы мастера создания публикаций или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация> выберите фильтр в области Отфильтрованные таблицы и щелкните Удалить. Если удаляемый фильтр соединения расширен за счет других фильтров, последние также будут удалены.

См. также

Задания

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