Я изучаю способы репликации баз данных из локальных сред в Azure, и один из найденных вариантов - настройка группы доступности Read-Scale.
Причина, по которой я использую ReadМасштабируемость, а не наличие группы доступности Always, объясняется тем, что я не буду использовать выпуск SQL Server Enterprise из-за его стоимости.
Я следовал руководству от Microsoft ( MS TUTORIAL ) чтобы все это настроить, и, в конце концов, я думаю, что все заработало, поскольку моя база данных появилась в среде Azure.
Однако проблема в том, что моя реплика всегда остается в состоянии Synchronizing
-что, вероятно, связано с тем, что я выбрал асинхронную репликацию с помощью команды AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT
, но еще хуже то, что я не могу получить доступ к самой базе данных. Каждый раз, когда я пытаюсь выполнить запрос против него, он возвращается с исключением Object is not accessible
.
После некоторого чтения я обнаружил, что причина этого может быть в том, что моя реплика не имеет вторичной роли,Пытаясь установить это с помощью команды ... SECONDARY_ROLE({ALLOW_CONNECTIONS = ALL})...
, ясно говорится, что эта функция недоступна в стандартной версии SQL Server.
Вся моя путаница связана с тем, что в документации Microsoft ( MSDOCS ), это говорит о том, что With availability groups, one or more secondary replicas can be configured to support read-only access to secondary databases.
, это именно то, что мне не удается.
У кого-то была такая же проблема, или он знает, как настроить группу доступности Read-Scale на SQL ServerСтандартный, так что моя вторая реплика также доступна и читаема?
PS Я посмотрел реальную репликацию SQL с репликацией транзакций, но там довольно много движущихся частей, поэтому я изучаю все варианты, прежде чемпринятие решения.