Как определить и изменить статический фильтр строк (среда SQL Server Management Studio)
Определение, изменение и удаление статических фильтров строк выполняется на странице Фильтрация строк таблицы мастера создания публикации или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация>. Дополнительные сведения об использовании этого мастера и о доступе к этому диалоговому окну см. в разделах Как создать публикацию и определить статьи (среда SQL Server Management Studio) и Как просмотреть и изменить свойства публикации и статьи (среда SQL Server Management Studio). Если публикация включена для одноранговой репликации транзакций, таблицы не могут быть отфильтрованы.
Примечание. |
---|
Если добавление, изменение или удаление статического фильтра строк в диалоговом окне Свойства публикации — <публикация> выполняется после инициализации подписок на публикацию, следует создать новый моментальный снимок и повторно инициализировать все подписки после внесения изменений. Дополнительные сведения о требованиях к изменениям свойств см. в разделе Изменение свойств публикации и статей. |
Определение статического фильтра строк
Действия, выполняемые на странице Фильтрация строк таблицы мастера создания публикации или на странице Фильтрация строк диалогового окна Свойства публикации — <публикация>, зависят от типа публикации:
- Для публикации моментальных снимков или публикации транзакций щелкните Добавить.
- Для публикации слиянием щелкните Добавить, а затем щелкните Добавить фильтр.
В окне Добавление фильтра выберите в раскрывающемся списке таблицу для фильтрации.
Создайте инструкцию фильтра в текстовом поле Инструкция фильтра. Можно выполнить ввод в тестовом поле или перетащить столбцы из списка Столбцы.
Примечание. В предложении WHERE необходимо использовать имена, состоящие из двух частей; имена, состоящие из трех или четырех частей, не поддерживаются. Если публикация является публикацией от издателя Oracle, предложение WHERE должно соответствовать синтаксису Oracle. Текстовая область Инструкция фильтра содержит текст по умолчанию в следующем виде:
SELECT <published_columns> FROM [schema].[tablename] WHERE
Текст по умолчанию изменять нельзя. Введите предложение фильтра после ключевого слова WHERE, используя стандартный синтаксис SQL. Законченное предложение фильтра должно выглядеть следующим образом:
SELECT <published_columns> FROM [HumanResources].[Employee] WHERE [LoginID] = 'adventure-works\ranjit0'
В статическом фильтре строк может содержаться определяемая пользователем функция. Полное предложение фильтра для статического фильтра строк с определяемой пользователем функцией должно выглядеть следующим образом:
SELECT <published_columns> FROM [Sales].[SalesOrderHeader] WHERE MyFunction([Freight]) > 100
Нажмите кнопку ОК.
В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.
Изменение статического фильтра строк
На странице Фильтрация строк таблицы мастера создания публикации или на странице Фильтрация строк диалогового окна Свойства публикаций — <публикация> выберите фильтр на панели Отфильтрованные таблицы, а затем щелкните Изменить.
В окне Изменение фильтра измените фильтр.
Нажмите кнопку ОК.
Удаление статического фильтра строк
- На странице Фильтрация строк таблицы мастера создания публикации или на странице Фильтрация строк диалогового окна Свойства публикаций — <публикация> выберите фильтр на панели Отфильтрованные таблицы, а затем щелкните Удалить.
См. также
Задачи
Основные понятия
Фильтрация опубликованных данных
Другие ресурсы
How to: Define and Modify a Static Row Filter (Replication Transact-SQL Programming)