Скорость и влияние синхронизации георепликации Azure SQL

У меня есть клиент, база данных SQL Azure которого была случайно создана в европейском центре обработки данных (клиент находится в США). Я надеялся перенести его в США с помощью гео-репликации, чтобы минимизировать время простоя, как описано здесь: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-portal

База данных достаточно велика, около 25 ГБ, и я не могу найти ничего по следующим вопросам:

1) Есть ли способ определить, сколько времени займет первоначальная синхронизация (т. Е. Все данные синхронизируются, и мы можем перейти на новую базу данных в США)? 2) Есть ли в любом случае, чтобы посмотреть прогресс начальной синхронизации? 3) Будет ли существенно влиять на производительность базы данных первоначальная синхронизация (и последующая синхронизация)? 4) Улучшит ли уровень сервера улучшение этих результатов (т. Е. Скорость синхронизации и влияние на производительность)?

1 ответ

Решение

Вы можете использовать sys.dm_operation_status, чтобы узнать, как происходит отработка отказа. Ниже приведено количество открытых транзакций для очистки

select count(*) as OpenTX from sys.dm_operation_status where major_resource_id= 'DatabaseName' and state < 2

Вы можете узнать больше о прогрессе аварийного переключения здесь.

Следующий запрос также предоставляет информацию о состоянии и задержке репликации.

select 
  partner_server,
  partner_database,
  replication_state,
  replication_state_desc,
  role_desc,
  secondary_allow_connections_desc,
  last_replication,
  replication_lag_sec
from sys.dm_geo_replication_link_status
go 

Следующий запрос дает вам статус операции во время первой синхронизации.

select
  major_resource_id,
  operation,
  state,
  state_desc,
  percent_complete,
  start_time,
  last_modify_time
from 
  sys.dm_operation_status;
go

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

Другие вопросы по тегам