Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure
В этой статье показано, как настроить активную георепликацию и инициировать переключение при отказе для База данных SQL Azure с помощью портала Azure, PowerShell или Azure CLI.
Активная георепликация настраивается для каждой базы данных. Чтобы выполнить отработку отказа для группы баз данных или если вашему приложению требуется стабильная конечная точка подключения, рассмотрите возможность использования групп отработки отказа.
Предварительные требования
Чтобы выполнить это руководство, вам потребуется одна база данных SQL Azure. Чтобы узнать, как создать отдельную базу данных с помощью портала Azure, Azure CLI или PowerShell, см. Краткое руководство: создание отдельной базы данных — База данных SQL Azure.
Вы можете использовать портал Azure для настройки активной георепликации между подписками, если обе подписки находятся в одном клиенте Идентификатора Microsoft Entra.
- Чтобы создать геовторичную реплику в подписке, отличной от подписки первичной реплики, в другом клиенте Microsoft Entra ID, используйте руководство по T-SQL для геовторичной реплики между подписками и клиентами Microsoft Entra ID.
- Операции георепликации между подписками, включая настройку и геоотработку отказа, также поддерживаются с помощью Databases Create or Update REST API.
Добавить вторичную базу данных
Следующие шаги создают новую вторичную базу данных в партнерстве георепликации.
Чтобы добавить вторичную базу данных, необходимо быть владельцем или совладельцем подписки.
Вторичная база данных имеет то же имя, что и первичная база данных, и по умолчанию тот же уровень обслуживания и размер вычислительных ресурсов. Вторичная база данных может быть отдельной базой данных или базой данных в пуле. Дополнительные сведения см. в статье Обзор модели приобретения на основе DTU и модель приобретения на основе vCore. После создания и инициализации вторичной базы данных начинается репликация данных из первичной базы данных в новую вторичную базу данных.
Если вторичная реплика используется только для аварийного восстановления (DR) и не обрабатывает рабочие нагрузки чтения или записи, вы можете сэкономить на расходах на лицензирование, переведя базу данных в режим ожидания при настройке новой связи активной георепликации. Дополнительные сведения см. в разделе резервная реплика, не требующая лицензии.
Примечание.
Если база данных — партнер уже создана (например, в результате прекращения предыдущей связи георепликации), выполнение команды завершится сбоем.
На портале Azure перейдите к базе данных, для которой нужно настроить георепликацию.
На странице Базы данных SQL выберите свою базу данных, перейдите к элементу Управление данными, выберите Реплики, а затем выберите Создать реплику.
Выберите для геовторичной базы данных подписку и группу ресурсов.
Выберите или создайте сервер для вторичной базы данных и при необходимости настройте параметры Вычислительные ресурсы и хранилище. Можно выбрать любой регион для сервера-получателя, но мы рекомендуем использовать парный регион.
При необходимости можно добавить вторичную базу данных в эластичный пул. Чтобы создать вторичную базу данных в пуле, выберите Да рядом с параметром Хотите использовать эластичный пул SQL? и выберите пул на целевом сервере. Пул должен быть создан на целевом сервере заранее. Этот рабочий процесс не создает пул.
Выберите "Просмотр и создание", просмотрите сведения и нажмите кнопку "Создать".
Создается вторичная база данных, и начинается процесс развертывания.
Когда развертывание будет завершено, вторичная база данных отобразит свое состояние.
Вернитесь к странице основной базы данных, а затем выберите Replicas. Ваша дополнительная база данных указана в разделе Геореплики.
Инициировать аварийное переключение
Вторичную базу данных можно переключить в основную.
На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.
Перейдите к пункту Управление данными, а затем выберите Реплики.
В списке Географические реплики выберите базу данных, которая должна стать новой основной, выберите многоточие, а затем выберите Принудительное переключение на резервную копию.
Выберите Да, чтобы запустить отработку отказа.
Команда немедленно переключает вторичную базу данных в роль основной. Обычно этот процесс занимает не более 30 секунд.
Обе базы данных недоступны в течение 25 секунд, а роли переключаются. Если база данных-источник имеет несколько баз данных-получателей, то команда автоматически перенастроит другие базы данных-получатели для подключения к новой базе данных-источнику. Обычно вся операция занимает меньше минуты.
Удалить вторичную базу данных
Эта операция безвозвратно останавливает репликацию на вторичную базу данных и изменяет роль вторичной базы данных, делая ее обычной базой данных с возможностью чтения и записи. Если подключение ко вторичной базе данных нарушено, команда будет выполнена, но вторичная база данных не станет доступной для чтения и записи до тех пор, пока подключение не будет восстановлено.
- На портале Azure перейдите к базе данных-источнику в партнерстве георепликации.
- Выберите Реплики.
- В списке Геореплики выберите базу данных, которую необходимо удалить из партнерства георепликации, нажмите кнопку с многоточием, а затем выберите пункт Отключить репликацию.
- Откроется окно подтверждения. Нажмите кнопку Да, чтобы удалить базу данных из партнерства георепликации. (Задайте для нее базу данных для чтения и записи, которая не является частью репликации.)
Георепликация между подписками
- Чтобы создать георезервную реплику в подписке отличной от подписки основного ресурса в том же клиенте Microsoft Entra, можно использовать портал Azure или выполнить действия, описанные в этом разделе.
- Чтобы создать геовторичную реплику в подписке, отличной от подписки, в которой находится первичная реплика, в другом клиенте Microsoft Entra, необходимо использовать аутентификацию SQL и T-SQL, как описано в шагах этого раздела. Аутентификация Microsoft Entra для Azure SQL не поддерживается для георепликации между подписками, если логический сервер находится в другом клиенте Azure
Добавьте IP-адрес клиентского компьютера, выполняющего команды T-SQL в этом примере, в брандмауэры сервера как первичных, так и вторичных серверов. Чтобы проверить этот IP-адрес, выполните следующий запрос, подключившись к серверу-источнику с того же клиентского компьютера.
SELECT client_net_address FROM sys.dm_exec_connections WHERE session_id = @@SPID;Дополнительные сведения см. в статье Правила брандмауэра для IP-адресов Базы данных SQL Azure и Azure Synapse.
masterВ базе данных на сервере-источнике создайте имя входа проверки подлинности SQL, выделенное для активной настройки георепликации. Замените<password>строгим паролем.CREATE LOGIN geodrsetup WITH PASSWORD = '<password>';В той же базе данных создайте пользователя для входа и добавьте его в роль
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 = '<password>', 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];После успешного создания вторичной геореплики можно удалить пользователей, имена входа и правила брандмауэра, созданные в ходе этой процедуры.