Para evitar excesso de carga no SQL Server primário, gostaria de instalar e habilitar o R Services em uma réplica secundária do servidor primário. Isso é possível?
Além disso, posso enviar cálculos de um cliente R remoto para o servidor secundário com o R Services ativado?
Isso tem algum impacto no primário?
Secundário legível é um recurso dos Grupos de Disponibilidade Always On e você pode criar facilmente um deles no Azure usando o modelo da galeria .
Você tem que fazer um pouco de configuração extra, para configurar o roteamento somente leitura, algo assim:
Conectar-se ao secundário legível é uma questão de usar a
ApplicationIntent=ReadOnly
faceta em sua string de conexão. Eu não tentei fazer isso de R, mas imagine que você poderia. Existe uma maneira fácil de verificar se você está ou não conectado ao secundário usando osqlcmd
que usei recentemente aqui .No que diz respeito à computação push, isso ainda não é conhecido. Examinando os grupos de disponibilidade Always On: Interoperability R Services não está listado.
Eu ficaria pessoalmente surpreso se esses recursos funcionassem juntos dessa maneira, já que o R é tão novo, mas é uma boa ideia. Se não funcionar, você pode fazer uma solicitação de recurso. Eu também diria, porém, quando você se conecta a um ouvinte AG e solicita roteamento somente leitura, é apenas isso, uma solicitação. Como o AOAG é um recurso de alta disponibilidade, se o secundário estiver inativo, você deve se conectar ao primário. Então, digamos que você habilitou apenas o R Services no secundário, você cria uma situação em que esses scripts falham quando o secundário não está disponível.
Infelizmente, não posso testar isso sozinho, pois queimei todos os meus créditos do Azure este mês respondendo a algumas perguntas para @BrentO :) Talvez no final do mês.
Nick Burns escreveu este Configuring R Services in SQL Server 2016 para SQLServerSentry.com.
Observe seus comentários nas PENSAMENTOS FINAIS:
O trabalho que está sendo feito no secundário legível NÃO deve afetar o servidor primário. É um secundário legível , mas não gravável , portanto, a consulta ('R', 'TSQL' etc.) não pode vazar de volta para o servidor primário.
Você tem alguma razão para esperar o contrário?