Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема при переключении ролей в Failover Cluster  [new]
Виталий Перевозчиков
Member

Откуда:
Сообщений: 40
Тестирую отказоустойчивость MS SQL Server. Редакция - MS SQL Server R2 Enterprise, версия ОС - Windows Server 2008 R2.
В качестве технологии отказоустойчивости использую Failover Cluster.

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

Возможно ли каким-либо способом избежать данной проблемы, т.е. есть ли возможность поднимать незакрытые соединения на пассивном узле при смене ролей между узлами.
10 фев 14, 17:09    [15547467]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при переключении ролей в Failover Cluster  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Нет, конечно. Приложение должно уметь само переподключаться и "продолжать" с того момента, где разорвалось соединение.
10 фев 14, 17:10    [15547474]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при переключении ролей в Failover Cluster  [new]
Виталий Перевозчиков
Member

Откуда:
Сообщений: 40
Как оказалось не все разработчики приложений заботятся об этом.
Что происходит c сессиями при failover. В офф документации ничего не нашел.
11 фев 14, 08:54    [15549296]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при переключении ролей в Failover Cluster  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
Виталий Перевозчиков
Что происходит c сессиями при failover. В офф документации ничего не нашел.
Они закрываются, текущие транзакции прерываются (и откатываются после подключения другой ноды).

Это же естественно: допустим, выключили ноду из розетки, не работает. Понятно, всё что было в памяти, все текущие данные коннекта, все операции - всё пропало.
Далее вторая нода подключается к тем же файлам базы, откатывает незавершённые транзакции, и продолжает обслуживать сервер.
Виталий Перевозчиков
приложение выдает ошибку - "сервер разорвал соединение".
Конечно, приложение должно восстанавливать соединение.
Да и вообще, мало ли, сеть глюканёт - нужно обрабатывать такие ошибки.
11 фев 14, 09:25    [15549390]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить