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

Откуда: Киев
Сообщений: 54
Нужно переключить зеркалирование баз на другой узел, базы на другом узле подготовлены и стоят под лог шиппингом.
В клиентских строках соединения Data Source и Failover Partner указывают на DNS алиасы которые сейчас ссылаются только на принципал сервер.
Проблема: на момент разрыва зеркала и до включения его на другой узел клиенты будут сообщать "database is not configured for database mirroring"
Что можно сделать чтобы клиенты продолжали соединяться с принципал сервером на момент отсутствия зеркала?
Вносить изменения в строки соединения два раза (без Failover Partner и опять с Failover Partner ) не хотелось бы.
Спасибо.
5 авг 15, 09:55    [17977008]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
и стоят под лог шиппингом.

Вообще-то log shipping и mirroring - это разные вещи
5 авг 15, 09:57    [17977022]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
после того как на пассивный узел накатывается последний лог я включаю на него mirroring, так работает, делал много раз..
5 авг 15, 10:14    [17977135]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
после того как на пассивный узел накатывается последний лог я включаю на него mirroring

Что ?

Vpsem
так работает, делал много раз.

Вы сколько раз в хелпе читали про log shipping и mirroring ?
5 авг 15, 10:16    [17977144]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Т.е. есть три сервера: принципал, зеркало и лог шиппинг.
Нужно поменять местами зеркало и лог шиппинг
5 авг 15, 10:17    [17977149]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
В качестве примера:
Есть зеркальная база, я разрываю зеркало, продолжаю догонять состояние базы лог шиппингом, затем опять включаю зеркало. Это можно делать много раз, полный рестор базы при этом не нужен..
5 авг 15, 10:22    [17977189]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
я разрываю зеркало

И вы хотите, чтобы клиенты волшебным образом это игнорировали ?
5 авг 15, 10:25    [17977207]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Glory
И вы хотите, чтобы клиенты волшебным образом это игнорировали ?

Именно так, ведь основной сервер продолжает быть доступным, почему нет? Что чему здесь противоречит?
Зачем клиенту знать есть ли зеркало, если доступен основной (и на этот момент единственный) сервер?
5 авг 15, 10:30    [17977242]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Зачем клиенту знать есть ли зеркало, если доступен основной (и на этот момент единственный) сервер?

Например, за тем, что клиент не смог соединиться с первым сервером
5 авг 15, 10:44    [17977331]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Да, когда "клиент не смог соединиться с первым сервером ", то знать адрес зеркала и его существование нужно.
Но если первый сервер доступен и принимает вашу сессию, то зачем клиенту проверять наличие зеркала как такового?
Оставив полемику, скажите пожалуйста:
Как бы вы поменяли зеркальный сервер без прерывания предоставления сервиса, если клиентских строк соединений тьма, и не ко всем вы имеете доступ?
5 авг 15, 13:31    [17978452]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Как бы вы поменяли зеркальный сервер без прерывания предоставления сервиса,

Это невозможно без прерывания коннектов
Потому что коннекты должны быть созданы на новом сервере
А параметры типа Failover Partner просто позволяют сделать это автоматически.
5 авг 15, 13:34    [17978473]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
[quot GloryПотому что коннекты должны быть созданы на новом сервере
А параметры типа Failover Partner просто позволяют сделать это автоматически.[/quot]
5 авг 15, 13:36    [17978484]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Glory
Потому что коннекты должны быть созданы на новом сервере.

Нет, коннекты как шли к принципалу, так и будут идти, принципал сервер НЕ меняется!
Параметры типа Failover Partner используются только если принципал не доступен.
5 авг 15, 13:40    [17978512]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Нет, коннекты как шли к принципалу, так и будут идти, принципал сервер НЕ меняется!

Это вы так думаете или вы так видели в мониторе коненктов ?

Vpsem
Параметры типа Failover Partner используются только если принципал не доступен.

Ну так и как вы убедились, что принципал был доступен ?
5 авг 15, 13:42    [17978528]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Хорошо, рассмотрим другую ситуацию:

Сервер на котором находятся mirroring базы утерян, сервер на котором находятся principal базы доступен.

В результате система будет работать до тех пор, пока есть место в журналах транзакций principal баз данных.
Чтобы освободить место в журналах транзакций principal баз данных, я должен разорвать зеркало.
После разрыва зеркала базы данных остаются доступны, однако клиенты не могут с ней соединиться..

И что тогда делать? Ставить на уши всех других админов чтобы они меняли строки соединения?
Неужели нет параметра игнорировать наличие mirroring сервера? (тогда мы поменяем строки соединения всего один раз и надолго)
Ведь логично продолжать соединяться с основным сервером и продолжать работу.
5 авг 15, 14:02    [17978634]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Ведь логично продолжать соединяться с основным сервером и продолжать работу.

Вот вы почему-то так уверены, что ваша клиентская программа просто наплевала на доступность принципала.
5 авг 15, 14:05    [17978643]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Ну а почему бы ей действительно не наплевать на то что с основного сервера снята роль principal и он остался просто основным сервером который указан в параметре Data Source.
Какие здесь противоречия?
5 авг 15, 14:16    [17978696]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Ну а почему бы ей действительно не наплевать на то что с основного сервера снята роль principal и он остался просто основным сервером который указан в параметре Data Source.
Какие здесь противоречия?

Противоречие в том, что вы свои предположения выдаете за проверенный факт
5 авг 15, 14:18    [17978707]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Glory
Противоречие в том, что вы свои предположения выдаете за проверенный факт

Можно увидеть где именно?


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

Есть три сервера:
Server1 - princinal
Server2 - mirroring
Server3 - logshipping
c Server2 - mirroring срезан лог и доставлен на Server3 - logshipping

На Server3 - logshipping выполняется команда
ALTER DATABASE [mydb]
SET PARTNER = 'TCP://Server1:5022';

На Server1 - princinal последовательно выполняются две команды (к сожалению нельзя в одной транзакции)
ALTER DATABASE [mydb] SET PARTNER OFF
ALTER DATABASE [mydb]
SET PARTNER = 'TCP://Server3:5022';

В результате:
Server1 - princinal
Server2 - готов к logshipping
Server3 - mirroring

Всем спасибо.
5 авг 15, 18:13    [17980259]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
Vpsem
c Server2 - mirroring срезан лог и доставлен на Server3 - logshipping

тут ошибся, правильно так:
c Server1 - mirroring срезан лог и доставлен на Server3 - logshipping
5 авг 15, 18:18    [17980290]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Vpsem
Можно увидеть где именно?

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

Вы не предоставили ни одного доказательства, что ваше приложение не пыталось соединяться с приципалом. А считаете отсутствие попыток соедиения аксиомой
5 авг 15, 18:19    [17980292]     Ответить | Цитировать Сообщить модератору
 Re: Как переключить зеркалирование на другой узел без прерывания соединений?  [new]
Vpsem
Member

Откуда: Киев
Сообщений: 54
тут ошибся, правильно так:
c Server1 - principal срезан лог и доставлен на Server3 - logshipping
5 авг 15, 18:22    [17980304]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить