среда: SQL Server 2005 с пакетом обновления 2 (9.0.3077) транзакционные Публикации (Производство и бета)SQL Server 2005 Репликация
У меня есть ситуации, когда у меня есть два различных публикации репликации установки, которые используют некоторые из тех же статей , Каждая из этих публикаций подает подписчик на другой компьютер. Один из этих общих статей - это таблица. На регулярном временном интервале многие записи в этой таблице становятся старыми и больше не нужны. В это время вызывается хранимая процедура, которая удаляет записи.
Чтобы сохранить ресурсы и улучшить время ожидания подписчиков, я установил свойство репликации в этой хранимой процедуре на «Выполнение хранимой процедуры» вместо стандартного «Только определение хранимой процедуры». Таким образом, когда хранимая процедура удаляет 20000000 записей, они не реплицируются до подписчиков. Вместо этого выполнение хранимой процедуры реплицируется и выполняется одна и та же реплицированная хранимая процедура для подписчиков, и она удаляет те же 2 000 000 + строк.
Проблема, с которой я столкнулся, связана с моей второй публикацией. Мне не нужен этот тип поведения, поэтому я оставил свойство article в хранимой процедуре, установленной только в «Только определение хранимой процедуры», и ожидал, что репликация удалит строки у другого подписчика, но это не так. Таблица у абонента только продолжала получать записи. Поэтому, чтобы исправить это, я установил свойство Article в «Execution ...» и назвал его хорошим. Скорее всего, это лучшее решение, поэтому бета-версия соответствует производству, но по-прежнему выглядит как клоч, поскольку свойства публикации должны работать независимо друг от друга.
Вопрос: Почему свойство статьи «Выполнение хранимой процедуры» имеет приоритет и применяется к другой публикации, даже если в другой публикации установлено значение «Только определение хранимой процедуры»?
Не желая проигрывать Stackoverlfow здесь, однако этот вопрос представляет собой довольно сложный запрос репликации SQL Server. Я бы предложил опубликовать его на форуме Microsoft Replication Server, а затем обновить это сообщение с помощью resutls. –
Пока я работаю над некоторыми материалами репликации прямо сейчас, я согласен с Джоном. Это довольно сложный вопрос. Удачи. :) Возможно, придется ждать, пока кто-то сделает querytimeout.com –
Согласен, Хиллари Коттер - известный эксперт по репликации и наблюдает за сервером репликации SQL Server http://social.msdn.microsoft.com/Forums/en-US/sqlreplication –