Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 подскажите по зеркалированию БД  [new]
патпатпртрп
Guest
например, настрою database mirroring в sql server 2008
в случае падения основного сервера каким образом клиентское приложение узнает что надо обращаться к зеркальному?
нашёл такое описание:
Клиенты при необходимости автоматически переключаются на использование зеркальной копии (это относится только к приложениям, которые используют SQL Native Client или .NET SQL Provider). Информацию о зеркальной копии можно указать в строке подключения (ее также может передать основной сервер при подключении к нему клиента);
а есть подробное описание что указывать в строке подключения и как основной сервер может передавать информацию о зеркальном?
в BOL не нашёл :(
24 янв 13, 14:48    [13821869]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
патпатпртрп
Guest
уточнение, интересует информация только о том как основной сервер может передавать информацию о зеркальном
24 янв 13, 15:03    [13821975]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial Catalog=myDataBase;Integrated Security=True;


автор
уточнение, интересует информация только о том как основной сервер может передавать информацию о зеркальном


Принципал знает о зеркале и передает эту информацию при подключении к нему клиента.
24 янв 13, 15:08    [13822003]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
патпатпртрп
уточнение, интересует информация только о том как основной сервер может передавать информацию о зеркальном

основной сервер не передаёт информации о состоянии зеркального сервера клиенту, ни к чему ему это совсем. А подключение клиента к основному или к зеркальному серверу в зависимости от доступности осуществляется посредством псевдонимов, только если приложение использует SQL Native Client или .NET для соединения с сервером.
24 янв 13, 15:11    [13822024]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
патпатпртрп
Guest
pkarklin
автор
уточнение, интересует информация только о том как основной сервер может передавать информацию о зеркальном

Принципал знает о зеркале и передает эту информацию при подключении к нему клиента.

значит ли это что если в connection string не прописывать информацию о зеркале клиент может узнать о нём и переключиться на него в случае падения основного? если да, то при каких условиях так происходит, а в каких - нет?
24 янв 13, 15:16    [13822074]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
патпатпртрп
pkarklin
пропущено...

Принципал знает о зеркале и передает эту информацию при подключении к нему клиента.

значит ли это что если в connection string не прописывать информацию о зеркале клиент может узнать о нём и переключиться на него в случае падения основного? если да, то при каких условиях так происходит, а в каких - нет?

автоматическое переключение ролей серверов при выходе из строя сервера-принципала (при потере с ним связи). Для автоматического переключения обязательно необходимо: 1) чтобы в системе зеркального отображения использовался следящий сервер(повторюсь - клиенту ничего не передаёться и не сообщается о том кто жив, а кто мёртв, ни от принципиала, ни от зеркального сервера). 2) Само зеркальное отображение должно работать в режиме Synchronous with automatic failover.

Как только следящий сервер определяет, что сервер-принципал вышел из строя или связь с ним потеряна, он меняет в своих параметрах статус этого сервера на DISCONNECTED (отсоединенный), и после завершения применения к зеркальному серверу всех транзакций, которые были отправлены к нему с сервера-принципала, открывает доступ к зеркальной базе данных в обычном режиме. Если связь с бывшим сервером-принципалом будет восстановлена, он автоматически меняет свою роль и начинает выполнять роль зеркального сервера.
24 янв 13, 15:33    [13822262]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
патпатпртрп,

BOL->Making the Initial Connection to a Database Mirroring Session

On receiving a connection string, the data access provider stores the initial partner name and the failover partner name, if supplied, in a cache in the client's volatile memory (for managed code, the cache is scoped to the application domain). Once cached, the initial partner name is never updated by the data access provider. When the client supplies the failover partner name, the data access provider also stores this failover partner name temporarily in case the provider cannot connect using the initial partner name.

If either partner name correctly identifies the current principal server, the data access provider normally succeeds in opening the initial connection. On completing this connection, the data access provider downloads the server instance name of the current mirror server. This name is stored in the cache as the failover partner name, overwriting the client-supplied failover partner name, if any. Thereafter, the .NET Framework Data Provider for SQL Server does not update the failover partner name. In contrast, SQL Server Native Client updates the cache whenever a subsequent connection or connection reset returns a different partner name.


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

Но если в строке подключения нет указания зеркального сервера и принципал недоступен, то имя зеркала взять неоткуда и переподключение нвозможно.
24 янв 13, 15:49    [13822413]     Ответить | Цитировать Сообщить модератору
 Re: подскажите по зеркалированию БД  [new]
патпатпртрп
Guest
pkarklin,

большое спасибо!
24 янв 13, 16:15    [13822639]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить