2009-03-26 4 views
1

Мы используем репликацию и, похоже, имеем бесконечные проблемы с ней. Кажется, он закрыт по неизвестным причинам. Его нужно отключить, чтобы удалить столбец, и он возвращается только наполовину. Кто-нибудь имеет какие-либо советы о том, как правильно использовать репликацию или какие-то альтернативы ей.Использование Sql-серверной репликации

Edit:

Мы используем SQL Server 2005, мы не можем использовать зеркальное отображение базы данных, как мы использовали другую базу данных для составления отчетов. Насколько мне известно, вы не можете запрашивать данные из зеркальной базы данных.

+0

Может хотите, чтобы исправить правописание в названии –

+0

Когда вы говорите: «только начинается резервное копирование в половине случаев», можете ли вы предоставить дополнительную информацию об этом? Какие ошибки возникают при попытке перезапуска репликации? –

+0

Какие пакеты обновления и накопительные обновления были применены к серверам издателей, распространителей и подписчиков? В SP было много исправлений и т. Д. – devstuff

ответ

3

Если вам нужна только пара таблиц из вашей БД для отчетов, репликация более полезна, но вы также можете настроить доставку журналов со вторичным сервером в режиме STAND BY (особенно, если вам нужна значительная часть ваших данных для отчетов) , то вы можете запускать отчеты на вторичном сервере. Вам просто нужно помнить, что отправка журналов будет мешать резервным копиям журналов транзакций, поэтому вам нужно использовать одну и ту же папку с файлами резервных копий журналов для обоих процессов.

0

Какую версию SQL Server вы используете?

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

Я изучил журналы событий и журналы SQL Server, чтобы узнать, можете ли вы определить, почему он отключается, и почему он не запускается. Возможно, вы исправляете серверы, или у вас есть сетевые ошибки?

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

1

Вот список проблем, с которыми я должен был решить, чтобы получить работу репликации:

1) Репликация иногда лежит ко мне и говорит мне об этом, даже когда его работы хорошо. «Сервер« Боб »не является подписчиком. (.Net SqlClient Data Provider)« Я попытался повторно инициализировать его, думая, что он был сломан, и он никогда не был ...

2) Может потребоваться немного, чтобы перезапустить себя, особенно если ваша удаленная БД находится на другой стороне планеты, что в моем случае. Если вы находитесь в медленном сетевом соединении или на 100% не уверены, тогда у вас могут быть проблемы. Кроме того, задания, которые перезапускают процесс, иногда могут занять некоторое время, что также задерживает дальнейшие действия.

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

2

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

Во-первых, зеркалирование базы данных очень прост в настройке, и у меня никогда не было проблем с ним (используя его в течение последних 4 лет).

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

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

1

У нас есть транзакционная репликация SQL, которая работает совершенно счастливо. Вы, кажется, говорите, что это когда вы делаете изменения схемы издателю, что у вас возникают проблемы. Каждый раз, когда мы выполняем изменение схемы, мы отбрасываем публикацию, подписку и базу подписки. Сделайте изменения, а затем перестройте все это. Мы можем это сделать, потому что мы можем терпеть время, необходимое для повторного применения моментального снимка. Существуют способы применения изменений схемы к публикации и их распространения на подписчика. Взгляните на sp_register_custom_scripting. Мы сделали эту работу один раз, поэтому я могу дать дополнительную информацию об этом, если вам нужно.
Как говорит Джейсон, вы можете сообщать из зеркальной базы данных с помощью моментального снимка. Остерегайтесь того, что снимок займет место и вызовет больше работы для зеркального сервера. Хотя сколько места будет зависеть от того, сколько данных меняется и насколько велика ваша исходная база данных. Мы используем моментальный снимок в зеркальной базе данных для случайных отчетов, потому что вся наша база данных не реплицируется.

1

доставка журналов http://msdn.microsoft.com/en-us/library/ms187103.aspx

+0

yep. У нас была MS fix SQLServer для нас, когда она висела (один сервер опустился, другой остался как вторичный). В итоге мы по-прежнему отправлялись на лог-доставку для требуемой надежности. – gbjbaanb

0

Мы также использовали репликации SQL транзакций. У нас были те же проблемы с обновлением схемы, что требует публикации публикации на всех серверах, выполнения обновлений, а затем повторной инициализации репликации и надежды на лучшее. Иногда он не инициализируется, или узел отстает, и мы не будем предупреждать об этом. Несколько раз мы даже потеряли все разрешения на выполнение хранимой процедуры, вызвав довольно много сбоев на веб-сайтах.

У нас есть довольно большая база данных, поэтому повторная инициализация может занять довольно много времени, то есть все обновления должны были быть сделаны в воскресенье в 2 часа ночи - не совсем точно, когда мы бодрствуем и бодрствуем и можем использовать все наши способности для решения проблемы проблема, которая может возникнуть.

Мы канав репликации в пользу отказоустойчивой кластеризации на SQL 2008, но он все еще может быть сделано весь путь обратно к SQL 2000.

http://technet.microsoft.com/en-us/library/cc917693.aspx

Смежные вопросы