Transaction Replication (Reinitialization problem)

Дворник
Дата: 05.12.2002 15:45:58
Помогите неумному дебилу-администратору!!!

Есть 10 компов с SQL Server 2000, установлена репликация транзакций, так, что один из них публикатор+дистрибутор, а остальные подписчики.
Когда репликация проходит, тогда проблем нет, а если какие-нибудь подписчики отключаются на момент репликации, то подписка становится неактивной и требует реинициализации, что влечет за собой необходимость применения снапшота снова. А мне не хочется его каждый раз применять.
Вопрос, что мне делать?
Белов Владимир
Дата: 06.12.2002 09:37:38
Она становится неактивной или просто валиться с ошибкой ?
Дворник
Дата: 06.12.2002 09:49:23
становится неактивной (я вроде так и написал :-\) т.е. после того как была ошибка (Couldn't connect to SQL Server ...), запускается к примеру через 3 дня, когда коннект уже есть, но даже не пытается коннектиться, а сразу пишет, что неактивна и требует реинициализации.
KIM
Дата: 06.12.2002 12:09:20
Попробуй с при помощи системной процедуры sp_changepublication поставить retention=0
Описание функции есть в BOL.
Дворник
Дата: 06.12.2002 12:17:45
КИМ премного благодарен, попробую!
Дворник
Дата: 06.12.2002 12:22:30
упс, постой, а разве Retantion - это не параметр, кот. задает время жизни подписки просто? у меня и стоит как раз 0- т.е. анлимитед, но это не меняет положение вещей, просто подписка когда неактивна, она может сноситься через какой то интервал времени, а у меня другая фигня, она просто становится неактивной, но не удаляется.
KIM
Дата: 06.12.2002 12:36:08
Тогда трудно сказать. Подумаю. У меня при установленном retention=0 после 2-х дневного перерыва все самовосстанавливалось.
Moonspell13
Дата: 06.12.2002 13:25:51
Посмотри Miscellaneous агентов.
Дворник
Дата: 06.12.2002 13:43:03
Да есть там такой агент который "Reinitializes all subscriptions that have data validation failures.", Но я смотрел, дык у него Schedule вообще нет никакого, ни хистори :( Делает он вот что:

exec dbo.sp_MSreinit_failed_subscriptions @failure_level = 1


т.е. он автоматом реинициализирует подписку, если та имеет валидэйшн еррорс, но мне нужна та процедура, которая просто помечает подписку для реинициализации, делает ее неактивной :(