Руководство по настройке активной георепликации и отработки отказа (База данных SQL Azure)

Применимо к:База данных SQL Azure

В этой статье объясняется, как настроить активную георепликацию для Базы данных SQL Azure с помощью портала Azure или Azure CLI и запустить отработку отказа.

Сведения о группах отработки отказа см. в разделе "Группы отработки отказа" с База данных SQL Azure и группами отработки отказа с Управляемый экземпляр SQL Azure.

Необходимые компоненты

В этом руководстве показано, как настроить базу данных для активного гео реплика tion. Сведения о создании одной базы данных с помощью портал Azure, Azure CLI, Azure CLI (sql up) или PowerShell см. в кратком руководстве по созданию отдельной базы данных База данных SQL Azure.

Добавление базы данных-получателя

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

Добавить базу данных-получатель может только владелец или совладелец подписки.

Базе данных-получателю присваивается такое же имя, как у базы данных-источника, и по умолчанию тот же уровень служб и объем вычислительных ресурсов. База данных-получатель может быть отдельной базой данных или базой данных в пуле. См. подробнее о моделях приобретения на основе единиц DTU и виртуальных ядер. После создания и заполнения базы данных-получателя начинается репликация данных из базы данных-источника в новую базу данных-получателя.

Если вторичная реплика используется только для аварийного восстановления (АВАРИЙНОго восстановления) и не имеет рабочих нагрузок чтения или записи, вы можете сэкономить на затратах на лицензирование, указав базу данных для ожидания при настройке новой активной связи гео-реплика. Просмотрите бесплатные резервные реплика лицензий, чтобы узнать больше.

Примечание.

Если база данных — партнер уже создана (например, в результате прекращения предыдущей связи георепликации), выполнение команды завершится сбоем.

  1. На портале Azure перейдите к базе данных, для которой нужно настроить георепликацию.

  2. На странице Базы данных SQL выберите свою базу данных, перейдите к элементу Управление данными, выберите Реплики, а затем выберите Создать реплику.

    Screenshot that shows the Configure geo-replication option.

  3. Выберите или создайте сервер для базы данных — получателя и при необходимости настройте параметры Вычисления и хранилища. Можно выбрать любой регион для сервера-получателя, но мы рекомендуем использовать парный регион.

    Screenshot that shows the Create and configure replica screen.

    По желанию добавьте базу данных-получатель в пул эластичных баз данных. Чтобы создать базу данных — получатель, выберите Да для пункта Использовать пул эластичных БД? и выберите пул на целевом сервере. Пул должен быть создан на целевом сервере заранее. Этот рабочий процесс не создает пул.

  4. Нажмите Проверить и создать, проверьте сведения, а затем нажмите Создать.

  5. После создания базы данных — получателя начнется процесс развертывания.

    Screenshot that shows the deployment status of the secondary database.

  6. Как только процесс развертывания будет закончен, отобразится состояние базы данных — получателя.

    Screenshot that shows the secondary database status after deployment.

  7. Вернитесь на страницу базы данных — источника, а затем выберите Реплики. База данных — получатель будет указана в разделе Геореплики.

    Screenshot that shows the SQL database primary and geo replicas.

Запуск отработки отказа

Базу данных-получатель можно сделать источником.

  1. На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.

  2. Перейдите к пункту Управление данными, а затем выберите Реплики.

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

    Screenshot that shows selecting forced failover from the drop-down.

  4. Выберите Да, чтобы запустить отработку отказа.


Команда немедленно переключит базу данных-получатель на роль базы данных-источника. Обычно этот процесс занимает не более 30 секунд.

В течение короткого периода (от 0 до 25 секунд), пока переключаются роли, обе базы данных будут недоступны. Если база данных-источник имеет несколько баз данных-получателей, то команда автоматически перенастроит другие базы данных-получатели для подключения к новой базе данных-источнику. Обычно вся операция занимает меньше минуты.

Удаление базы данных-получателя

Данная операция безвозвратно отменяет репликацию в базу данных — получатель и превращает ее в обычную базу данных для чтения и записи. Если подключение к базе данных — получателю прервется, команда будет выполнена, но после восстановления связи база данных — получатель не станет доступной для чтения и записи.

  1. На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.
  2. Выберите Реплики.
  3. В списке Геореплики выберите базу данных, которую необходимо удалить из партнерства георепликации, нажмите кнопку с многоточием, а затем выберите пункт Отключить репликацию.
  4. Откроется окно подтверждения. Нажмите кнопку Да, чтобы удалить базу данных из партнерства георепликации (и сделать ее доступной для чтения и записи и не используемой в репликации).

Георепликация при наличии нескольких подписок

Используйте Transact-SQL (T-SQL) создайте геоторичную в подписке, отличную от подписки первичной (будь то в том же клиенте Идентификатора Microsoft Entra (ранее Azure Active Directory) или нет), выполните действия, описанные в этом разделе.

  1. Добавьте IP-адрес клиентского компьютера, выполняющего команды T-SQL в этом примере, в брандмауэры сервера как первичных, так и вторичных серверов. Чтобы проверить этот IP-адрес, выполните следующий запрос, подключившись к серверу-источнику с того же клиентского компьютера.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    Дополнительные сведения см. в разделе "Настройка брандмауэра".

  2. master В базе данных на сервере-источнике создайте имя входа проверки подлинности SQL, выделенное для активной настройки гео-реплика tion. При необходимости измените имя пользователя и пароль.

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. В той же базе данных создайте пользователя для входа и добавьте его в роль dbmanager:

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. Запишите значение SID для нового имени входа. Чтобы получить значение SID, выполните следующий запрос.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. Подключение в базу данных-источник (а не master базу данных) и создайте пользователя для того же имени входа.

    create user geodrsetup for login geodrsetup;
    
  6. В той же базе данных добавьте пользователя к роли db_owner.

    alter role db_owner add member geodrsetup;
    
  7. master В базе данных на сервере-получателе создайте то же имя входа, что и на основном сервере, используя то же имя, пароль и идентификатор безопасности. Замените шестнадцатеричное значение SID в примере команды ниже на значение, полученное на Шаге 4.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. В той же базе данных создайте пользователя для входа и добавьте его в роль dbmanager.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. master Подключение в базу данных на сервере-источнике с помощью нового geodrsetup имени входа и инициируйте гео-вторичное создание на сервере-получателе. При необходимости измените имя базы данных и сервера-получателя. После выполнения команды вы можете отслеживать гео-вторичное создание, запрашивая представление sys.dm_geo_репликаtion_link_status в базе данных-источнике, а также представление sys.dm_operation_status в master базе данных на сервере-источнике. Время, необходимое для создания вторичной геореплики, зависит от размера базы данных-источника.

    alter database [dbrep] add secondary on server [servername];
    
  10. После успешного создания вторичной геореплики можно удалить пользователей, имена входа и правила брандмауэра, созданные в ходе этой процедуры.

Примечание.

Операции гео-реплика подписки, включая настройку и геоработку отказа, поддерживаются только с помощью команд REST API и T-SQL.

Добавление вторичной геореплики с помощью T-SQL при подключении к основному серверу через частную конечную точку не поддерживается. Если частная конечная точка настроена и общий доступ к сети разрешен, то добавление вторичной геореплики при подключении к серверу-источнику с общедоступного IP-адреса поддерживается. После добавления гео-вторичного доступа к общедоступной сети можно запретить.

Создание гео вторичного сервера на логическом сервере в другом клиенте Microsoft Entra не поддерживается, если проверка подлинности только для Microsoft Entra включена на первичном или вторичном логических серверах.

Следующие шаги