Итак, у меня SQL (2005) Transactional Replication, как правило, хорошо работает с одним издателем и одним (только для чтения) подписчиком. Изменения и обновления данных проходят идеально, с задержкой около 5 секунд, что просто отлично.
Моя единственная неприятная проблема, которую я потратил пару дней, пытаясь решить (и везде гуглял для ответов), заключается в том, что new sprocs / tables / etc. не распространяться на подписчика только для чтения, хотя я добавил их как «статьи» в «публикацию». В публикации «Передача изменений схемы» установлено на «ON», а хранимые процедуры настроены на передачу своих определений. Но по какой-то причине они этого не делают.
Мой процесс "агент моментальных снимков" установлен на НЕ РАСПИСАНО. (Другими словами, это происходит только один раз, когда я запускаю его вручную.) Должен ли я поместить это в расписание, чтобы разрешить передачу новых или измененных таблиц и sprocs?
Я думал, что простой акт добавления объекта в качестве статьи в публикацию сделает это, но он все равно не отправит его, пока я не сделаю снимок. WAN-соединение, соединяющее их, абсолютно быстрое и надежное, поэтому проблема не в этом, и обновления данных таблиц передаются относительно быстро и без сбоев.
Хотя я мог бы поместить свой агент моментальных снимков в расписание, это оказывает какое-либо влияние на производительность в реальном времени для пользователей основной базы данных публикации или копии только для чтения? (Мой сайт в настоящее время получает более 4 миллионов уникальных пользователей в месяц, поэтому я хотел бы иметь минимальные нарушения ...) Спасибо!