Фильтрация реплицируемых данных - Динамические снимки
ОГЛАВЛЕНИЕ
Динамические снимки
Динамические снимки (Dynamic Snapshots) обеспечивают хорошую эффективность при применении снимка merge публикации совместно с динамическими фильтрами. Высокая эффективность достигается за счёт использования Microsoft SQL Server 2000 bulk copy, что позволяет оптом применять данные на subscriber вместо последовательного исполнения инструкции INSERT. Создание динамического снимка для подписки позволяет также обеспечить лучшую гибкость и экономичность при передаче снимка на сменных носителях (например, CD- ROM). Такое применение снимка на подписчике с использованием носителя можно выполнить быстрее, чем посредством применения первоначального моментального снимка, передаваемого по медленному коммуникационному каналу.
Когда в merge публикации используются динамические фильтры, данные издаваемой таблицы фильтруются на основе свойств подключения Merge Agent для текущей в течение процесса объединения (merge) публикации. По умолчанию, публикация с динамическим фильтром основывается на операциях вставки (INSERT) данных от издателя, что позволяет применить данные на подписчике, как часть первоначального снимка. Это может стать долгим и ресурсоёмким процессом, потому что Merge Agent должен будет определить строка-к-строке (row-by-row) данные, которые нужно включить в снимок, основываясь на динамических критериях фильтра. Применение динамических снимков обеспечивает более высокую эффективность, за счёт использования механизма SQL bulk copy (bcp) при применении данных на подписчике, т.е. за счёт применения первоначального снимка с использованием динамических фильтров. Когда Вы создаете динамический снимок, Вы, фактически, генерируете моментальный снимок, который будет настроен для заданного подписчика. Поскольку данные будут уже извлечены и скопированы, применяться снимок будет также быстро, как применяется снимок без динамических фильтров. Однако, есть и отрицательные моменты, это дополнительные временные затраты и дополнительное дисковое пространство, которые потребуются при создании и сохранении динамического снимка. Хотя для создания динамического снимка требуется больше времени (по сути, снимок будет генерироваться дважды), процесс применения снимка на подписчиках пройдёт быстрее, чем применение стандартного снимка для merge публикации с динамическим фильтром. Вначале будет сгенерирован стандартный снимок, а динамический снимок создаётся путём фильтрации стандартного снимка.
Динамические снимки можно создавать с помощью Enterprise Manager, с помощью мастеров: Create Publication и Create Dynamic Snapshot Job, с помощью системных хранимых процедур и Transact-SQL скриптов, а также с помощью Microsoft ActiveX controls или SQL-DMO.