Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
В группе доступности Always On можно настроить одну или несколько реплик доступности так, чтобы они допускали подключения только для чтения при работе во вторичной роли (то есть при работе как вторичная реплика). Каждую реплику доступности можно также настроить так, чтобы она разрешала или исключала соединения только для чтения во время работы под первичной ролью (т. е. во время работы в качестве первичной реплики).
Чтобы обеспечить доступ клиентов к первичной или вторичной базе данных в данной группе доступности, необходимо настроить прослушиватель группы доступности. По умолчанию прослушиватель группы доступности направляет входящие подключения на первичную реплику. Однако можно настроить группу доступности так, чтобы она поддерживала маршрутизацию подключений только для чтения, что позволяет ее прослушивателю группы доступности перенаправлять запросы на подключение от приложений, предназначенных для чтения, на доступную для чтения вторичную реплику. Дополнительные сведения см. в статье Настройка маршрутизации только для чтения в группе доступности (SQL Server).
Во время переключения при отказе вторичная реплика переходит в основную роль, а прежняя первичная реплика — во вторичную роль. Во время процесса аварийного переключения разрываются все клиентские соединения как с первичной репликой, так и со вторичными репликами. После отработки отказа, когда клиент выполняет повторное соединение с прослушивателем группы доступности, прослушиватель соединяет клиента с новой первичной репликой, кроме тех случаев, когда выполняется запрос на соединение только для чтения. Если маршрутизация только для чтения настроена для клиента и для экземпляров сервера, на которых размещена первичная реплика и хотя бы одна вторичная реплика доступна только для чтения, то запросы на соединение только для чтения перенаправляются на вторичную реплику, которая поддерживает необходимый клиенту тип соединения и доступа. Чтобы обеспечить корректную работу клиента после переключения при отказе, важно настроить доступ для подключений как для вторичной, так и для первичной роли каждой реплики доступности.
Примечание.
Сведения о прослушивателе групп доступности, обрабатывающем запросы на клиентские подключения, см. в разделе Прослушиватели групп доступности, возможность подключения клиентов и отработка отказа приложений (SQL Server).
Типы доступа к подключению, поддерживаемые второстепенной ролью
Вторичная роль поддерживает три альтернативных варианта клиентского соединения, а именно:
Нет соединений
Пользовательские соединения не разрешены. Вторичные базы данных недоступны для чтения. Это поведение по умолчанию во вторичной роли.
Подключения только для чтения
Вторичные базы данных доступны только для подключений, в которых свойству подключения Назначение приложения присвоено значение ReadOnly (подключения с намерением чтения).
Дополнительные сведения об этом свойстве соединения см. в разделе Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server.
Разрешить любые соединения только для чтения
Все вторичные базы данных доступны для подключений только для чтения. Этот вариант разрешает соединения клиентам с более ранними версиями ПО.
Дополнительные сведения см. в разделе Настройка доступа только для чтения в реплике доступности (SQL Server).
Типы доступа к подключению, поддерживаемые основной ролью
Первичная роль поддерживает два альтернативных варианта клиентского соединения, а именно:
Разрешены все соединения
К базам данных-источникам разрешено как соединение в режиме «чтение-запись», так и соединение в режиме «только чтение». Это поведение по умолчанию для первичной роли.
Разрешены только соединения в режиме «чтение-запись»
Если свойство соединения Назначение приложения имеет значение ReadWrite либо не задано, соединение разрешено. Соединения, для которых ключевое слово строки подключения Application Intent имеет значение только чтение , не разрешены. Разрешение только соединений в режиме «чтение-запись» может помочь предотвратить случаи, когда ваши клиенты по ошибке подключают к первичной реплике рабочую нагрузку, предназначенную для чтения.
Дополнительные сведения об этом свойстве соединения см. в разделе Using Connection String Keywords with SQL Server Native Client.
Дополнительные сведения см. в разделе Настройка доступа только для чтения в реплике доступности (SQL Server).
Влияние конфигурации доступа соединения на клиентское соединение
Параметры доступа соединения реплики определяют, проходит или не проходит попытка соединения. В следующей таблице приведены сводные сведения о том, проходит или не проходит попытка соединения по каждому параметру доступа соединения.
| Роль реплики | Поддержка доступа к соединению в реплике | Назначение соединения | Результат попытки подключения |
|---|---|---|---|
| Вторичные | Все | С намерением только чтения, чтения-записи или назначение соединения не указано | Успех |
| Вторичный | Нет (Это дополнительное поведение по умолчанию.) | С намерением только чтения, чтения-записи или назначение соединения не указано | Сбой |
| Вторичный | Только для чтения | Намерение чтения | Успешно |
| Вторичный | Только для чтения | Намерение чтения/записи или намерение подключения не указано | Сбой |
| Основной | Все (Это основное поведение по умолчанию.) | Только чтение, чтение-запись или намерение подключения не указано | Успех |
| Основной | Чтение и запись | Только для чтения | Сбой |
| Основной | Чтение и запись | Указано назначение чтения-записи или назначение подключения не указано | Успех |
Сведения о настройке группы доступности для приема подключений клиентов к ее репликам см. в разделе Прослушиватели групп доступности, подключение клиентов и переключение приложений при отказе (SQL Server).
Пример конфигурации подключения и доступа
В зависимости от того, как настроены разные реплики доступности для доступа к подключениям, поддержка клиентских подключений может измениться после переключения при отказе группы доступности. Например, рассмотрим группу доступности, для которой формирование отчетов выполняется на удалённых вторичных репликах с асинхронной фиксацией. Все приложения, работающие в режиме только для чтения, для базы данных в этой группе доступности устанавливают для своего свойства соединения Назначение приложения значение ReadOnly, после чего все соединения в режиме только для чтения становятся соединениями с намерением чтения.
Эта примерная группа доступности содержит две реплики с синхронной фиксацией в основном центре обработки данных и две реплики с асинхронной фиксацией на удалённой площадке. Для основной роли все реплики настроены на доступ для чтения и записи, что предотвращает подключения, предназначенные только для чтения, к основной реплике ни при каких обстоятельствах. Вторичная роль синхронной фиксации использует конфигурацию доступа к подключениям по умолчанию ("none"), что запрещает все клиентские подключения при вторичной роли. Напротив, реплики с асинхронной фиксацией настраиваются так, чтобы разрешать подключения с намерением чтения при вторичной роли. В следующей таблице приведена сводка по конфигурации в этом примере.
| Реплика | Режим подтверждения | Первоначальная роль | Доступ к подключению для второстепенной роли | Доступ к подключению для основной роли |
|---|---|---|---|---|
| Replica1 | Синхронный | Основной | нет | Чтение и запись |
| Реплика2 | Синхронный | Вторичные | нет | Чтение и запись |
| Реплика3 | Асинхронный | Вторичные | Только для чтения | Чтение и запись |
| Реплика4 | Асинхронный | Вторичные | Только для чтения | Чтение и запись |
Как правило, в этом примере сценария переключение при отказе происходит только между репликами синхронной фиксации, и сразу после переключения приложения с намерением только на чтение могут повторно подключиться к одной из вторичных реплик асинхронной фиксации. Однако, если в основном вычислительном центре происходит авария, теряются обе реплики с синхронной фиксацией. Администратор базы данных на удалённой площадке в ответ выполняет принудительное ручное переключение на вторичную реплику с асинхронной фиксацией. В результате принудительного переключения при отказе вторичные базы данных на оставшейся вторичной реплике приостанавливаются, из-за чего они становятся недоступными для рабочих нагрузок только для чтения. Новая первичная реплика, настроенная для подключений для чтения и записи, не позволяет рабочей нагрузке с намерением чтения конкурировать с рабочей нагрузкой чтения и записи. Это означает, что пока администратор баз данных не возобновит работу вторичных баз данных на оставшейся вторичной реплике с асинхронной фиксацией, клиенты с намерением чтения не смогут подключиться ни к одной реплике группы доступности.
Связанные задачи
Настройка доступа только для чтения в реплике доступности (SQL Server)
Настройка маршрутизации только для чтения в группе доступности (SQL Server)
Использование диалогового окна "Создание группы доступности" (SQL Server Management Studio)
Связанные материалы
- Руководство по решениям режима AlwaysOn в Microsoft SQL Server для обеспечения высокой доступности и аварийного восстановления
- Блоги команды разработчиков SQL Server AlwaysOn: официальный блог по SQL Server AlwaysOn
- Что такое группа доступности AlwaysOn?
- Подключитесь к прослушивателю группы доступности Always On
- Статистика