Я использую подход «Использование двух регионов Azure для обеспечения непрерывности бизнеса с минимальным временем простоя» для служб высокой доступности, использующих базу данных SQL Azure.
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-designing-cloud-solutions-for-disaster-recovery#scenario-2-azure-regions-for-business-continuity-with-maximum-data-preservation
Я настроил два веб-приложения с диспетчером трафика в разных регионах (один использует строку подключения fg-name.database.windows.net для операций R / W, а другой - fg-name.secondary.database.windows.net для операций только для чтения. Теперь, пожалуйста, проверьте следующие шаги -
Шаг 1. Если мой основной sql-сервер работает нормально, тогда моя строка подключения (fg-name.database.windows.net) также будет работать для всех операций чтения-записи для основного веб-приложения.
Шаг 2 - Если мой основной сервер sql выключен (или регион отключен), и я установил льготный период как 1 час, тогда диспетчер трафика будет использовать второе веб-приложение, где я использую соединение fg-name.secondary.database.windows.net строка, чтобы пользователи могли выполнять операции только для чтения в течение этого 1 часа.
Шаг 3 - Через 1 час, когда начинается аварийное переключение, а затем мне снова нужно изменить строку подключения с fg-name.secondary.database.windows.net на (fg-name.database.windows.net) во вторичном веб-приложении, чтобы пользователи может выполнять операции чтения-записи.
Я сталкиваюсь с проблемой, что на каких базах я могу изменить строку соединения с «только чтение» на «чтение и запись» и снова «чтение и запись» только на чтение в приложении c #. Нужно ли проверять количество исключений SQL?
Пожалуйста, поправьте меня, если я ошибаюсь.