Поделиться через


Влияние устаревшего имени участника, являющегося резервным сервером

Изменения: 14 апреля 2006 г.

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

Например, клиент использует одну строку соединения для последовательности из четырех попыток соединения: в строке соединения имя начального участника — Partner_A, а имя участника, являющегося резервным сервером, — Partner B:

"Server=Partner_A; Failover Partner=Partner_B; Database=AdventureWorks"

В следующей таблице показаны четыре конфигурации участников и указано, будет ли работать данная строка соединения при подключении клиента в первый раз.

ms366350.note(ru-ru,SQL.90).gifПримечание.
Приложение может следить за изменениями конфигурации и изменять строку соединения соответствующим образом. Это требует дополнительного кода, но снимает с администратора часть забот.
Конфигурация Основной сервер Зеркальный сервер Поведение при попытке подключиться с указанием серверов Partner_A и Partner_B?

Исходная зеркальная конфигурация.

Partner_A

Partner_B

Partner_A сохраняется в кэше в качестве имени изначального участника. Клиент успешно подключается к серверу Partner_A. Затем клиент загружает имя зеркального сервера, Partner B, и кэширует его, игнорируя указанное клиентом имя отказоустойчивого участника.

На сервере Partner_A происходит аппаратный сбой и начинается переход на другой ресурс (с отключением клиентов).

Partner_B

нет

В качестве имени изначального участника в кэше все еще указан Partner_A, но сообщенное клиентом имя отказоустойчивого участника, Partner_B, позволяет клиенту подключиться к текущему основному серверу.

Администратор баз данных прекращает зеркальное отображение (отключая клиентов), заменяет Partner_A на Partner_C и перезапускает зеркальное отображение.

Partner_B

Partner_C

Клиент пытается подключиться к серверу Partner_A и это не удается; затем клиент пытается подключиться к Partner_B (текущему основному серверу) и это завершается успешно. Поставщик доступа к данным загружает имя текущего зеркального сервера, Partner_C и кэширует его в качестве текущего имени отказоустойчивого участника.

Переход службы на сервер Partner_C производится вручную (с отключением клиентов).

Partner_C

Partner_B

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

См. также

Основные понятия

Сетевые протоколы и конечные точки TDS
Обзор зеркального отображения базы данных
Возможные неполадки при зеркальном отображении базы данных

Другие ресурсы

Подключение к компоненту Database Engine SQL Server
Using Connection String Keywords with SQL Native Client
Использование обозревателя SQL Server

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Измененное содержимое:
  • Содержимое бывшего раздела «Клиентские соединения с зеркальной базой данных» перенесено в этот новый раздел.