Назад | Перейти на главную страницу

Как настроить репликацию на SQL Server 2008

Предположим, у вас есть производственная база данных и промежуточная база данных, которые вы хотите реплицировать через Интернет каждые полчаса. Общая цель состоит в том, чтобы иметь резервную копию, а также иметь вторую базу данных, доступную только для чтения, для тестирования.

Как бы вы это сделали и настроили?

Любые примечания о влиянии на производительность являются плюсом.

(Также приветствуются ответы относительно SQL SERVER 2005 или 2000)

если вы ищете зеркальное отображение базы данных, проще, если машины находятся в одном домене. В противном случае вы можете следовать инструкциям @ Зеркальное отображение SQL для серверов, не являющихся доменами

Я должен отметить, что это будет работать и для рядовых серверов домена, но требуется несколько различных шагов. Он также был написан для SQL 2005, но должен работать почти идентично на SQL 2008.

Вы захотите взглянуть на доставку журналов. Хотя следующей статье несколько лет, в ней рассказывается, почему и как:

http://www.sql-server-performance.com/articles/clustering/log_shipping_70_p1.aspx

Электронная документация по SQL описывает это здесь: http://technet.microsoft.com/en-us/library/bb895393.aspx

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

1) что вы хотите делать с промежуточной базой данных?

Если вы просто хотите, чтобы он был там в качестве резервного, доставка журналов возможна. Если вы хотите иметь возможность читать только из него, доставка журналов также хороша, но вам нужно будет восстановить журналы с помощью STANDBY, а затем принять политическое решение о том, что вы делаете с соединениями с базой данных, когда придет время восстанавливать следующий бэкап лога - выгонять или нет? Если нет, вам нужно будет следить за тем, чтобы база данных не слишком сильно рассинхронизировалась.

Если вы хотите иметь возможность записи в базу данных (например, для выполнения некоторого ETL), доставка журналов не является ответом, поскольку она не разрешает доступ для записи в базу данных, и вы можете рассмотреть некоторую форму репликации.

Надеюсь это поможет

Доставка журналов будет вашим выбором, если вы хотите повторять каждые полчаса.

Более подходящим решением в реальном времени было бы использование зеркального отображения базы данных (SQL 2005 и выше).

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

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