Estou tentando configurar um trabalho de agente SQL que só será executado se for uma réplica primária do Azure SQL MI de grupos de failover.
Estou tentando obter a réplica primária usando sys.dm_hadr_database_replica_states
where is_primary_replica =1
, mas quando executo no SQL MI em uma região diferente, ele também retorna o valor 1.
Estou usando dbo.fn_hadr_group_is_primary(@AGName)=1
a função para o ambiente local, então estou procurando algo semelhante para o Azure SQL MI.
Na Instância Gerenciada do SQL, em Trabalhos do Agente, você pode usar isto:
Na instância gerenciada primária dentro do Failover Group, os bancos de dados do usuário estarão no
READ_WRITE
modo. Na secundária -READ_ONLY
Isso ocorre porque uma única Instância Gerenciada do Azure SQL tem quatro réplicas internas abaixo dela. Ela retorna 1 porque você está interagindo com uma réplica interna que é primária no momento. Isso não está relacionado a Grupos de Failover e não mostra a função do MI em um Grupo de Failover.