SQL Server 2008 R2: Возможна ли репликация транзакций с одного (главного) на 3-4 подчиненных сервера?

#sql-server #sql-server-2008-r2 #database-replication

#sql-server #sql-server-2008-r2 #репликация базы данных

Вопрос:

Возможно ли реплицировать действующую базу данных с SQL Server 2008 R2, действующего как master (здесь происходит вся запись), на 3-4 независимые физические машины SQL Server 2008 R2?

У меня есть несколько дополнительных ресурсов только для тяжелых запросов «SELECT» (ЧТЕНИЕ)

Спасибо, Дмитрий

Ответ №1:

Да, это возможно. Но в вашем проекте придется учитывать задержку между записью и чтением: при чтении на подписчике могут не быть найдены данные, которые вы только что записали на главном сервере. Задержка репликации может составлять от нескольких миллисекунд до минут, а в некоторых сложных ситуациях может даже составлять часы.

Если вы согласны с задержкой (а вы должны быть согласны, поскольку это единственный вариант), то вы можете рассмотреть решения с более высокой задержкой, но намного проще в обслуживании, а именно с доставкой журналов. Доставка журналов проще, чем репликация, поскольку она не требует специальной обработки изменений DDL.

Комментарии:

1. Доставка журналов в некоторых отношениях проще, в других сложнее. Например, как вы регулярно считываете данные из базы данных назначения? Вы можете использовать моментальные снимки базы данных или восстановление в режиме ожидания, но оба этих варианта требуют дополнительного вмешательства (и отключения клиентов), когда вы хотите получить более свежие данные для потребителей в пункте назначения.