Настройка резервного сервера БД в файле ASP.NET web.config

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

Вопрос

В настоящее время у меня есть веб-сайт asp.net, размещенный на двух веб-серверах, которые работают за балансировщиком нагрузки Cisco. Два веб-сервера ссылаются на один сервер базы данных MSSQL.

Поскольку этот сервер базы данных является единственной точкой отказа, я добавляю дополнительный сервер MSSQL для резервного копирования. Я хотел бы настроить мои файлы web.config для записи всего на оба сервера MSSQL, но только для чтения с «основного» сайта. сервер базы данных, если он по какой-то причине недоступен, и в этот момент будет использоваться резервный сервер MSSQL.

Возможно ли это через настройку файла web.config или это должно быть сделано в коде? Заранее спасибо за любую помощь.

Новая информация: Я просто хотел добавить дополнительную информацию по этой теме после того, как изучал ее в течение последних нескольких дней - у Microsoft TechNet есть хорошее название статьи "Реализация отказоустойчивости приложений с помощью зеркального отображения базы данных". ( http://www.microsoft.com/technet/prodtechnol /sql/bestpractice/implappfailover.mspx#EMD ).

Это конкретно относится к функции зеркального отображения базы данных в Microsoft SQL Server 2005 и новом новом " Failover Partner " ключевое слово строки подключения, позволяющее указать два экземпляра сервера / базы данных в одной строке подключения.

Статью стоит прочитать, если вы заинтересованы в реализации этого типа функций.

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

Решение

То, что вы хотите, называется «переключение при сбое», где при сбое одной базы данных ваши запросы автоматически перенаправляются на другую. Это достигается на уровне базы данных, а не приложения. Существует множество пошаговых инструкций и т. Д. Для настройки отказоустойчивых кластеров: вот один для SQL 2000 и еще один для SQL 2005 . Как правило, после настройки первичная база данных передает все действия вторичной базе данных. Если первичный сбой, вторичный (почти) обновлен и вступает во владение.

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

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

Это немного сложнее, чем это. Ваша веб-страница пишет в базы данных? Или просто читать?

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

Но о чем вы (по сути) говорите, так это о настройке кластера SQL.

Я написал запись в блоге, в которой показано, как настроить зеркальное отображение базы данных MSSQL, а также как его использовать с точки зрения управляемого кода: http: //www.improve. дк / блог / 2008/03/23 / SQL-сервер зеркалирование-а-практический подход, ориентированный

Хороший ответ от " Рика " но я просто хотел добавить свои 2 цента информации. Обычно для установки с отработкой отказа без большого количества дорогостоящего оборудования я бы настроил его так:

У вас может быть ваш ящик SQL Server 2, ожидающий запроса, и система третьего уровня младшего класса с SQL Server 2005 Express в качестве " мониторинга работоспособности " ;. Это сэкономит вам 10K $ за коробку и одну лицензию на SQL Server. SQL Server Express (как в бесплатной версии) может выполнять мониторинг работоспособности между двумя серверами баз данных без каких-либо проблем.

Это мои настройки:)

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