Руководство по настройке активной георепликации и отработки отказа (База данных SQL Azure)
Применимо к: База данных SQL Azure
В этой статье объясняется, как настроить активную георепликацию для Базы данных SQL Azure с помощью портала Azure или Azure CLI и запустить отработку отказа.
Сведения о группах отработки отказа см. в разделе "Группы отработки отказа" с База данных SQL Azure и группами отработки отказа с Управляемый экземпляр SQL Azure.
Необходимые компоненты
Для работы с этим руководством вам потребуется один База данных SQL Azure. Сведения о создании одной базы данных с помощью портал Azure, Azure CLI или PowerShell см. в кратком руководстве по созданию одной базы данных База данных SQL Azure.
Добавление базы данных-получателя
Следующие действия позволяют создать новую базу данных-получателя в связи георепликации.
Добавить базу данных-получатель может только владелец или совладелец подписки.
Базе данных-получателю присваивается такое же имя, как у базы данных-источника, и по умолчанию тот же уровень служб и объем вычислительных ресурсов. База данных-получатель может быть отдельной базой данных или базой данных в пуле. См. подробнее о моделях приобретения на основе единиц DTU и виртуальных ядер. После создания и заполнения базы данных-получателя начинается репликация данных из базы данных-источника в новую базу данных-получателя.
Если вторичная реплика используется только для аварийного восстановления (АВАРИЙНОго восстановления) и не имеет рабочих нагрузок чтения или записи, вы можете сэкономить на затратах на лицензирование, назначив базу данных для ожидания при настройке новой активной связи георепликации. Ознакомьтесь с бесплатной резервной репликой , чтобы узнать больше.
Примечание.
Если база данных — партнер уже создана (например, в результате прекращения предыдущей связи георепликации), выполнение команды завершится сбоем.
На портале Azure перейдите к базе данных, для которой нужно настроить георепликацию.
На странице Базы данных SQL выберите свою базу данных, перейдите к элементу Управление данными, выберите Реплики, а затем выберите Создать реплику.
Выберите или создайте сервер для базы данных — получателя и при необходимости настройте параметры Вычисления и хранилища. Можно выбрать любой регион для сервера-получателя, но мы рекомендуем использовать парный регион.
По желанию добавьте базу данных-получатель в пул эластичных баз данных. Чтобы создать базу данных — получатель, выберите Да для пункта Использовать пул эластичных БД? и выберите пул на целевом сервере. Пул должен быть создан на целевом сервере заранее. Этот рабочий процесс не создает пул.
Нажмите Проверить и создать, проверьте сведения, а затем нажмите Создать.
После создания базы данных — получателя начнется процесс развертывания.
Как только процесс развертывания будет закончен, отобразится состояние базы данных — получателя.
Вернитесь на страницу базы данных — источника, а затем выберите Реплики. База данных — получатель будет указана в разделе Геореплики.
Запуск отработки отказа
Базу данных-получатель можно сделать источником.
На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.
Перейдите к пункту Управление данными, а затем выберите Реплики.
В списке Геореплики выберите базу данных, которую нужно сделать новой базой данных — источником, нажмите кнопку с многоточием, а затем выберите Принудительная отработка отказа.
Выберите Да, чтобы запустить отработку отказа.
Команда немедленно переключит базу данных-получатель на роль базы данных-источника. Обычно этот процесс занимает не более 30 секунд.
В течение короткого периода (от 0 до 25 секунд), пока переключаются роли, обе базы данных будут недоступны. Если база данных-источник имеет несколько баз данных-получателей, то команда автоматически перенастроит другие базы данных-получатели для подключения к новой базе данных-источнику. Обычно вся операция занимает меньше минуты.
Удаление базы данных-получателя
Данная операция безвозвратно отменяет репликацию в базу данных — получатель и превращает ее в обычную базу данных для чтения и записи. Если подключение к базе данных — получателю прервется, команда будет выполнена, но после восстановления связи база данных — получатель не станет доступной для чтения и записи.
- На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.
- Выберите Реплики.
- В списке Геореплики выберите базу данных, которую необходимо удалить из партнерства георепликации, нажмите кнопку с многоточием, а затем выберите пункт Отключить репликацию.
- Откроется окно подтверждения. Нажмите кнопку Да, чтобы удалить базу данных из партнерства георепликации (и сделать ее доступной для чтения и записи и не используемой в репликации).
Георепликация при наличии нескольких подписок
Используйте Transact-SQL (T-SQL) создайте геоторичную в подписке, отличную от подписки первичной (будь то в том же клиенте Идентификатора Microsoft Entra (ранее Azure Active Directory) или нет), выполните действия, описанные в этом разделе.
Добавьте IP-адрес клиентского компьютера, выполняющего команды T-SQL в этом примере, в брандмауэры сервера как первичных, так и вторичных серверов. Чтобы проверить этот IP-адрес, выполните следующий запрос, подключившись к серверу-источнику с того же клиентского компьютера.
select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
Дополнительные сведения см. в разделе "Настройка брандмауэра".
master
В базе данных на сервере-источнике создайте имя входа проверки подлинности SQL, выделенное для активной настройки георепликации. При необходимости измените имя пользователя и пароль.create login geodrsetup with password = 'ComplexPassword01';
В той же базе данных создайте пользователя для входа и добавьте его в роль
dbmanager
:create user geodrsetup for login geodrsetup; alter role dbmanager add member geodrsetup;
Запишите значение SID для нового имени входа. Чтобы получить значение SID, выполните следующий запрос.
select sid from sys.sql_logins where name = 'geodrsetup';
Подключитесь к базе данных-источнику (а не
master
к базе данных) и создайте пользователя для того же имени входа.create user geodrsetup for login geodrsetup;
В той же базе данных добавьте пользователя к роли
db_owner
.alter role db_owner add member geodrsetup;
master
В базе данных на сервере-получателе создайте то же имя входа, что и на основном сервере, используя то же имя, пароль и идентификатор безопасности. Замените шестнадцатеричное значение SID в примере команды ниже на значение, полученное на Шаге 4.create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
В той же базе данных создайте пользователя для входа и добавьте его в роль
dbmanager
.create user geodrsetup for login geodrsetup; alter role dbmanager add member geodrsetup;
Подключитесь к
master
базе данных на сервере-источнике с помощью новогоgeodrsetup
имени входа и инициируйте гео-вторичное создание на сервере-получателе. При необходимости измените имя базы данных и сервера-получателя. После выполнения команды можно отслеживать гео-вторичное создание, запрашивая представление sys.dm_geo_replication_link_status в базе данных-источнике, а также представление sys.dm_operation_status вmaster
базе данных на сервере-источнике. Время, необходимое для создания вторичной геореплики, зависит от размера базы данных-источника.alter database [dbrep] add secondary on server [servername];
После успешного создания вторичной геореплики можно удалить пользователей, имена входа и правила брандмауэра, созданные в ходе этой процедуры.
Примечание.
Операции георепликации между подписками, включая настройку и геоработку отказа, поддерживаются только с помощью команд СОЗДАНИЯ или обновления REST API и T-SQL.
Добавление вторичной геореплики с помощью T-SQL при подключении к основному серверу через частную конечную точку не поддерживается. Если частная конечная точка настроена и общий доступ к сети разрешен, то добавление вторичной геореплики при подключении к серверу-источнику с общедоступного IP-адреса поддерживается. После добавления гео-вторичного доступа к общедоступной сети можно запретить.
Создание гео вторичного сервера на логическом сервере в другом клиенте Microsoft Entra не поддерживается, если проверка подлинности только для Microsoft Entra включена на первичном или вторичном логических серверах.
Следующие шаги
- Дополнительные сведения об активной георепликации см. в статье Обзор. Группы отработки отказа и активная георепликация.
- Дополнительные сведения о группах отработки отказа см. в разделе "Группы отработки отказа"
- Сведения об обеспечении непрерывности бизнес-процессов и возможные сценарии описаны в обзоре непрерывности бизнес-процессов.
- Экономите затраты на лицензирование, назначив вторичную реплика аварийного восстановления для резервного копирования. 1