SQL 2005 Transactional Replication: поведение во время обработки снимка? - PullRequest
1 голос
/ 02 февраля 2009

Итак, у меня SQL (2005) Transactional Replication, как правило, хорошо работает с одним издателем и одним (только для чтения) подписчиком. Изменения и обновления данных проходят идеально, с задержкой около 5 секунд, что просто отлично.

Моя единственная неприятная проблема, которую я потратил пару дней, пытаясь решить (и везде гуглял для ответов), заключается в том, что new sprocs / tables / etc. не распространяться на подписчика только для чтения, хотя я добавил их как «статьи» в «публикацию». В публикации «Передача изменений схемы» установлено на «ON», а хранимые процедуры настроены на передачу своих определений. Но по какой-то причине они этого не делают.

Мой процесс "агент моментальных снимков" установлен на НЕ РАСПИСАНО. (Другими словами, это происходит только один раз, когда я запускаю его вручную.) Должен ли я поместить это в расписание, чтобы разрешить передачу новых или измененных таблиц и sprocs?

Я думал, что простой акт добавления объекта в качестве статьи в публикацию сделает это, но он все равно не отправит его, пока я не сделаю снимок. WAN-соединение, соединяющее их, абсолютно быстрое и надежное, поэтому проблема не в этом, и обновления данных таблиц передаются относительно быстро и без сбоев.

Хотя я мог бы поместить свой агент моментальных снимков в расписание, это оказывает какое-либо влияние на производительность в реальном времени для пользователей основной базы данных публикации или копии только для чтения? (Мой сайт в настоящее время получает более 4 миллионов уникальных пользователей в месяц, поэтому я хотел бы иметь минимальные нарушения ...) Спасибо!

1 Ответ

1 голос
/ 02 февраля 2009

Репликация транзакций только распределяет (а затем публикует) операторы DML (язык манипулирования данными) из журнала транзакций базы данных источника (публикации).

Новые таблицы и хранимые процедуры не реплицируются на подписчика. Изменения схемы в этом конкретном контексте, хотя я должен признать, что это немного неясно в некоторой документации Books Online, ссылаются на существующую схему, т.е. если вы добавляете столбец в существующую базу данных, это изменение будет распространено абонентов.

Для пояснения приведена статья Microsoft, в которой подробно описываются изменения схемы, которые вы можете внести.

[http://msdn.microsoft.com/en-us/library/ms151870(SQL.90).aspx][1]

Надеюсь, это поможет. Репликация - большая предметная область, поэтому, пожалуйста, дайте мне знать, если я могу оказать дальнейшую помощь.

О, да, вы правы, если вы добавляете новые статьи в вашу публикацию, вам нужно будет создать обновленный снимок.

Приветствия

...