При применении снапшота пропадают большинство связей. Хелп!!!

sky
Дата: 08.10.2003 11:59:23
Народ помогите пожалуйста: после применения снапшота пропадают большинство связей между таблицами, в основном между участвующими в публикации (хотя не все), в job history ошибок нет. То что пропали связи вижу на диаграмме. Можно конечно извращаться каждый раз выдирать из скрипта кусок и пересоздавать их, но это же не выход из положения!!! Помогите или подскажите где искать объяснение этому факту.

SQL 7.0 SP4 (merge replication, pull subsription)
GreenSunrise
Дата: 08.10.2003 12:35:05
Когда создаете публикацию, повнимательнее посмотрите на свойства статьи. Закладка snapshot: If a table named 'tablename' exists at the Subscriber. Вот если там вы выбрали Drop the existing table and re-create it, то обязательно пометьте чекбокс "Include declared referential integrity". Иначе таблица на подписчике создастся без ключей, бывших в оригинале.
sky
Дата: 08.10.2003 12:42:34
Щас проверю, только никуда не уходите!!! ))))
sky
Дата: 08.10.2003 12:54:00
К сожалению ничего не помогло. В свойствах все стояло как положено, ради интереса попробовал поставить - тоже не помогло, даже хуже, удалились те связи, которые раньше оставались.
Народ!!! ну дайте идею, я уже запарился из бэкапа восстанавливать базу и эксперементировать.

Заранее спасибо
GreenSunrise
Дата: 08.10.2003 12:54:02
Можно хоть за чаем-то сбегать??? %-) Помру ить...
GreenSunrise
Дата: 08.10.2003 12:56:34
ОК, разбираемся дальше.

В свойствах все стояло как положено
А как у вас положено? Там все способы валидные, каждый для своей задачи.

При добавлении подписки выбираете "Применить схему и данные" или "Ничего не надо, схема и данные уже есть на подписчике"?
sky
Дата: 08.10.2003 12:58:47
Тьфу ты блин не напечатал "попробовал поставить keep the existing table unchanged не помогло, только хуже"

Вот...
sky
Дата: 08.10.2003 13:00:38
Как положено, я имел ввиду как Вы порекомендовали )). При создании подписки выбираю что данные и схема уже есть.
GreenSunrise
Дата: 08.10.2003 14:24:46
Не, чудес не бывает. Не верю в ваше описание.

Давайте прогоним все на тестовой базе. Не трогайте ваш бэкап.

1. Создайте новую базу, в ней пару таблиц, связанных foreign key. На этой базе создайте публикацию с указанием keep the existing table unchanged.
2. Создайте вторую базу, которая будет подписчиком. В ней должна быть точно такая же структура - две таблицы с внешним ключом.
3. Проверьте, на месте ли все ключи в обеих базах.
4. Добавьте подписчика (вашу уже созданную базу в п.2), указав "схема и данные уже есть".
5. п.3

Ну? Каков результат?
sky
Дата: 08.10.2003 14:38:22
Посыпались (((