Фильтрация реплицируемых данных
Страница 2. Фильтры строк


 

Фильтры строк

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

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

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

Фильтры строк для репликации моментальных снимков (snapshot) и репликации транзакций являются статическими и используют критерий предложения WHERE, который можно задать с помощью Create publication Wizard или с помощью диалогового окна свойств публикации. Если имеются два подписчика, которые должны получать разные строки данных из издаваемой таблицы, нужно создать две публикации, каждая из которых будет иметь свой фильтр строк. Это позволит отправлять необходимые строки каждому подписчику.

Хотя можно использовать в фильтре строк подзапрос, это не будет join фильтр. Если строка в таблице модифицируется подзапросом, запрос не будет учтён, и строка не будет учтена как часть репликации. Репликация с Join фильтром применима только для Merge репликации.

В качестве альтернативы для создания нескольких публикаций можно рассматривать использование динамических фильтров в Merge репликации или создание трансформируемой подписки (transformable subscription) с предопределённым фильтром для репликации моментального снимка или репликации транзакций, которая будет динамически создавать разделы данных, основанные на информации, полученной от разных подписчиков.

 
« Предыдущая статья   Следующая статья »