powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация и фильтры
13 сообщений из 13, страница 1 из 1
Репликация и фильтры
    #32007587
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда добавляю статью для публикации, то указываю флажок "Delete data in the existing table that matches the row filter statement" и задаю значение фильтра. В help'е по поводу этой опции сказано следующее: "Delete the data that matches the data to be replicated from the Publisher in the local table with the same name as the destination table. Data in the local table that does not match the data to be replicated remains unchanged in the local table."
Поправьте меня, если я ошибаюсь, но я ожидаю следующий результат после первой синхронизации: с подписчика будут удалены данные, которые удовлетворяют фильтру и внесены данные с паблишера, которые опять-таки удовлетворяют фильтру. Вместо этого я получаю вот что: с подписчика удалены ВСЕ данные и с паблишера добавлены те данные, которые удовлетворяют фильтру. Я неправильно понимаю help ?
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007593
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты правильно понимаешь хелп. Для информации - выдержка из книжки Мамаева:
Delete data in the existing table that matches the row filter statement. В этом случае из таблицы подписчика будут удалены все строки, относящиеся к определенному для статьи горизонтальному фильтру. Это позволяет гарантировать, что при использовании соответствующего логического условия будет осуществляться работа с теми же данными, что имеются на издателе. Если горизонтальный фильтр для статьи не определен, то из таблицы подписчика будут удалены все строки .

А ты уверен, что фильтр определен? А SP1 уже поставил? Может, попробовать с сервиспаком?
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007595
Если ты используешь merge replication, то это логично.
А help написан для всех типов репликации.
На подписчике при merge replication в таблице ты не сможещь держать записи, которые не удволетворяют фильтру.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007597
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервиспак не стоит.
Фильтр определен точно. Использую sp_addmergearticle с правильной установкой параметра @subset_filterclause. Если посмотреть через sp_helpmergearticle, то настройки на месте.
2 Дмитрий: да, я использую merge репликацию. И у меня удаляются ВСЕ строки, несмотря на наличие горизонтального фильтра. А потом вставляются только те, которые подпадают под фильтр. И это логично ?!
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007598
На publisher-е у тебя именно удалится, изменится, вставится по фильтру, но на подписчике у тебя будет только кусочек опубликованой DB удовлетворяющей фильтру.
Он удаляет записи с подписчика, потому что по его мнению они лишние, т.к. не удовлетворяют фильтру. Как я понимаю подписчик, это точная копия издателя, но в данном случае по фильтру.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007599
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О как! 8-(

Ну, может быть, в таком аспекте это выглядит логично... Бр-р-р!!! Счас еще подумаю, попробую...
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007602
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, конечно, не настаиваю, поскольку не уверен. Но IMHO эта опция относится как раз к snapshot-репликации, которая проходит как первая этап синхронизации публикующего сервера и подписчика. Просто опция эта на закладке "Snapshot" свойства статьи. А логика Дмитрия Голубева у меня в голове как-то совсем не укладывается. Если ей следовать, то опция "Drop existing table and re-create it" должна привести к удалению таблицы на публикующем сервере , а не подписчике. Может, вместо слова publisher он хотел сказать distributor? Если так, то я тоже беру паузу, чтобы переварить.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007604
Совершенно согласен, что опция "Drop existing table and re-create it" относится к snapshot-у.
И по данной опции при инициализации snapshot-а на подписчике, производится операция с публицируемой таблицей на подписчике. Данная опция относится к подписчику и помоему никак не относится к издателю.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007680
Олег Яговкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To GreenSunrise
>Вместо этого я получаю вот что: с подписчика удалены ВСЕ данные и с паблишера добавлены >те данные, которые удовлетворяют фильтру.

Эта ситуация уже произошла или это вопос-предположение?

To Garya
Дмитрий прав. Name Conflicts(переключатель)определяет обработку набора синхронизации на подписчике. Отсюда и слово existing (в выражении "Drop existing table and re-create it" ) относится к серверу - подписчику.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007681
Олег Яговкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же перевод:
"Delete the data that matches the data to be replicated from the Publisher in the local table with the same name as the destination table. Data in the local table that does not match the data to be replicated remains unchanged in the local table."
" Сотрите данные, которые соответствуют данным, которые нужно скопировать от Издателя в локальную таблицу с тем же самым названием. Данные в локальной таблице, которые не согласовываются с данными, которые нужно скопировать остаются неизменяемые в локальной таблице. "
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007684
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Олег Яговкин:

Эта ситуация произошла. Удаляются ВСЕ данные с подписчика и добавляются те, которые присутствуют на паблишере и соответствуют фильтру. Вот меня и смущает вторая часть перевода опции, которая твердо говорит о том, что те данные на подписчике, которые НЕ удовлетворяют фильтру, останутся неизменными. У меня они удаляются.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007690
Олег Яговкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Mark Spenik сказано, что
"...если при определении статьи использовалось выделение ВЕРТИКАЛЬНЫХ РАЗДЕЛОВ, то установите переключатель в данное положение. Это позволит при каждом обновлении удалять из табл. на подписчике только те данные, кот. поступают из публикуемой статьи."
(При удалении в существующей таблице данных, соответствующих заданному набору СТРОК!)

Может быть тут собака и зарыта.

Я также рискнул в свое время на существующих данных провести эксперимент, но применил последюю опцию в Name Conflicts (и применяю до сих пор - она мне нравится), хорошо что данные оказались не столь важны. В общем мысль такая, что при фильтре таблицы всяко будут синхронизированы в соответств. с фильтром, но может господин Spenik прав и при применении опять же вертик. разделов данная опция потянет. Сообщи неторопясь, если получится т.к. практически эту опцию я не применял.
...
Рейтинг: 0 / 0
Репликация и фильтры
    #32007760
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>На publisher-е у тебя именно удалится, изменится, вставится по фильтру...
Я именно по поводу этой фразы высказал сомнение. Я и полагал, что "удалиться, измениться, вставиться по фильтру" должно на подписчике. Правда, Дмитрий, возможно, имел в виду не действия агента репликации, а действия пользователя.

2GreenSunrise. А можно подробнее, какой у тебя горизонтальный фильтр? Не динамический, случаем? Олег Яковкин высказал интересную мысль. Сообщите пожалуйста, помогает ли игра вертикальным фильтром.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация и фильтры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]