Репликация базы данных.2 сервера, Главная база данных и 2-й доступен только для чтения

StackOverflow https://stackoverflow.com/questions/12946

  •  08-06-2019
  •  | 
  •  

Вопрос

Допустим, у вас есть 2 сервера баз данных, одна база данных является "главной" базой данных, где выполняются все операции записи, она обрабатывается как "реальная / исходная" база данных.База данных другого сервера должна быть зеркальной копией главной базы данных (slave?), которая будет использоваться для операций только для чтения для определенной части приложения.

Как вы настраиваете подчиненную базу данных, которая отражает данные из главной базы данных?Насколько я понимаю, база данных slave / readonly предназначена для использования файла журнала транзакций master db для корректного отображения данных?
Какие варианты у меня есть с точки зрения того, как часто подчиненная база данных зеркально отображает данные?(в реальном времени/каждые x минут?).

Это было полезно?

Решение

То, что вы хотите, называется репликацией транзакций в SQL Server 2005.Он будет воспроизводить изменения практически в режиме реального времени от имени издателя (т. е."master") база данных обновлена.

Вот довольно подробное описание того, как это настроить.

Другие советы

SQL Server 2008 имеет три различных режима репликации.

  • Транзакционный для односторонней репликации только для чтения
  • Слияние для двусторонней репликации
  • Моментальный снимок

Насколько я понимаю, база данных slave / readonly предназначена для использования файла журнала транзакций master db для корректного отображения данных?Какие варианты у меня есть с точки зрения того, как часто подчиненная база данных зеркально отображает данные?(в реальном времени/каждые x минут?).

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

Вот хорошее пошаговое руководство о разнице между ними.К сожалению, вам придется зарегистрироваться в учетной записи, чтобы прочитать это.=/ http://www.sqlservercentral.com/articles/Replication/logshippingvsreplication/1399/

Ответ на этот вопрос будет варьироваться в зависимости от сервера базы данных, который вы используете для этого.

Редактировать:Извините, возможно, мне нужно научиться смотреть на теги, а не только на вопрос - я вижу, вы пометили это как sqlserver.

Репликация транзакций осуществляется в режиме реального времени.

Если вам не нужно вносить какие-либо обновления в вашу базу данных, вам нужно просто извлекать данные, скажем, раз в день :затем используйте репликацию моментальных снимков вместо репликации транзакций.При репликации моментальных снимков изменения будут реплицироваться, когда и как определено пользователем, скажем, один раз в 24 часа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top