Моментальные снимки для публикаций слиянием с параметризованными фильтрами
Когда в публикации слиянием применяются параметризованные фильтры строк, репликация инициализирует каждую подписку с моментальным снимком из двух частей. В первую очередь создается моментальный снимок схемы, содержащий все объекты, требуемые репликацией, и схемы опубликованных объектов, но не данные. Затем каждая подписка инициализируется с помощью моментального снимка, включающего объекты и схему из моментального снимка схемы, а также данные, принадлежащие секции подписки. Если несколько подписок получают заданную секцию (другими словами, они получают ту же схему и данные), моментальный снимок для этой секции создается один раз; несколько подписок инициализируются из одного и того же моментального снимка. Дополнительные сведения о параметризованных фильтрах строк см. в разделе Параметризованные фильтры строк.
Моментальные снимки для публикаций с параметризованными фильтрами можно создать одним из трех способов:
- Предварительное создание моментальных снимков для каждой секции. Использование данного варианта позволяет управлять временем создания моментальных снимков.
Можно также выбрать возможность обновления снимков по расписанию. Новые подписчики, подписывающиеся на секцию, для которой создан моментальный снимок, получат обновленный моментальный снимок. - Разрешите подписчикам запрашивать создание моментального снимка и его применение при первоначальной синхронизации. Использование данного параметра позволяет новым подписчикам синхронизироваться без вмешательства администратора (для создания моментального снимка у издателя должен быть запущен агент SQL Server).
Примечание. Если при фильтрации одной или нескольких статей публикации получаются неперекрывающиеся секции, которые являются уникальными для каждой подписки, метаданные очищаются при каждом запуске агента слияния. Это означает, что срок действия секционированного моментального снимка истекает быстрее. При выборе этого параметра необходимо рассмотреть возможность разрешения подписчикам инициировать создание и доставку моментальных снимков. Дополнительные сведения о параметрах фильтрации см. в разделе Параметризованные фильтры строк. - Создайте моментальный снимок вручную для каждого подписчика при помощи агента моментальных снимков. Затем подписчик должен предоставить место для размещения моментальных снимков агенту слияния, чтобы он мог получить и применить правильный моментальный снимок.
Примечание. Данный параметр поддерживается для обратной совместимости и не допускает существования общих FTP-ресурсов моментальных снимков.
Самый гибкий подход состоит в использовании комбинации варианта предварительного создания моментального снимка с вариантом запроса моментального снимка подписчиком: моментальные снимки предварительно создаются и обновляются на основе расписания (обычно во время отсутствия пиковых нагрузок), но подписчик может сформировать свой собственный моментальный снимок, если создается подписка, для которой требуется новая секция.
Рассмотрим компанию Adventure Works, которая имеет мобильных работников, доставляющих товары в отдельные магазины. Каждый продавец на основании своего учетного имени получает подписку, в которую извлекаются данные для обслуживаемых магазинов. Администратор выбирает предварительное создание моментальных снимков и их обновление каждое воскресенье. Иногда в систему добавляется новый пользователь, и ему требуются данные для секции, которая не имеет доступного моментального снимка. Администратор также решает разрешить инициирование моментальных снимков подписчиком, чтобы исключить ситуацию, когда подписчик не может подписаться на публикацию из-за того, что моментальный снимок еще не доступен. Когда новый подписчик подключается впервые, снимок создается для указанной секции и применяется у подписчика (для создания моментального снимка у издателя должен быть запущен агент SQL Server).
Создание моментального снимка для публикации с параметризованными фильтрами
- SQL Server Management Studio: Как сформировать моментальный снимок для публикации слиянием с параметризованными фильтрами (среда SQL Server Management Studio)
- Программирование репликации на Transact-SQL: How to: Create a Snapshot for a Merge Publication with Parameterized Filters (Replication Transact-SQL Programming)
- Программирование объектов RMO: How to: Create a Snapshot for a Merge Publication with Parameterized Filters (RMO Programming)
Настройки безопасности для агента моментальных снимков
Агент моментальных снимков создает моментальные снимки для каждой секции. Для предварительно созданных моментальных снимков и моментальных снимков, запрашиваемых подписчиком, агент запускается и подключается с учетными данными, указанными при создании задания агента моментальных снимков для публикации (задание создается мастером создания публикации или хранимой процедурой sp_addpublication_snapshot). Для изменения учетных данных используйте хранимую процедуру sp_changedynamicsnapshot_job. Дополнительные сведения см. в разделе sp_changedynamicsnapshot_job (Transact-SQL).
См. также
Основные понятия
Как репликация слиянием инициализирует публикации и подписки
Инициализация подписки с помощью моментального снимка
Параметризованные фильтры строк
Защита папки моментальных снимков