Utilizando ODBC para conexão em ambiente Read-Only Routing
O artigo “Roteamento Somente Leitura para um Grupo de Disponibilidade Always On” aborda uma estratégia crucial para otimizar a disponibilidade e desempenho em ambientes de bancos de dados críticos.
Nesse cenário, o artigo explora a implementação e utilização do ODBC (Open Database Connectivity) para estabelecer conexões eficientes em ambientes com Read-Only Routing (Roteamento Somente Leitura).
Por exemplo o Excel pode utilizar um ODBC para conectar em um ambiente com read-only routing.
Porém nesse exemplo irei demonstrar a conexão no ambiente com o roteamento somente leitura através do aplicativo SqlDBx.
Na estação de trabalho no qual será utilizado o aplicativo desejado deverá ter instalado o Microsoft SQL Server Native Client 11. A instalação é bem simples, padrão Microsoft.
É possível a criação do ODBC (32 bits) ou ODBC (64 bits), neste exemplo o SqlDBx utiliza o driver ODBC 32 bits.
Pesquisa no windows por ODBC , irá aparecer o atalho.
É possível criar o odbc por “User DSN” que é apenas para o usuário windows que o criou ou a possibilidade de “System DSN” que é para todos os usuários que tiverem as devidas permissões de acesso a estação de trabalho.
Selecione o driver “SQL Server Native Client 11.0”

É necessário fornecer um “Name”, neste exemplo iremos utilizar “ODBC_PRD” e o ambiente SQL Server que iremos apontar é o IP/PORTA do Listener do grupo disponibilidade no qual possui a configuração de Read-Only Routing

Nesse caso iremos utilizar a autenticação do SQL Server com o login “BI_Read” no qual possui apenas permissão de db_datareader no database AdventureWorks2019.

Na janela a seguir é necessário informar o parâmetro “Change the default database to” informando o nome do database desejado.
Também é necessário informar a configuração do “Application Intent” como “ReadOnly”.


Para efetuar o teste de conexão do Odbc basta clicar no botão “Test Data Source…”


Feito a configuração do ODBC, vamos abrir o aplicativo “SqlDBx”. É possível conectar em diversos SGDBs neste aplicativos.

Neste exemplos vamos utilizar o método de conexão “ODBC”

Ao selecionar “DBMS Type” igual ODBC, o próximo passo é clicar no icone (…) , conforme o print abaixo e selecionar o nome do ODBC criado.

O DSN será preenchido com o nome do odbc criado, é necessário informar os dados de User / Password e clicar no botão “OK” para conectar.

Ao conectar será aberto uma janela com uma página em branco para a digitação da query.
Neste exemplo irei executar o select na tabela “Person.Address”

A nível de conhecimento qual é a réplica que está como “Primary”? Conforme na imagem abaixo é a réplica “DBS0011AG\PRD” que está como “Primary”.

Vamos então executar o select @@servername para obter qual é a instância que estamos conectados no SqlDBx.
Conforme na imagem abaixo temos a réplica “DBSG0010AG\PRD” , ou seja, a conexão foi direcionada conforme o esperado da configuração do Read-Only Routing assim direcionando para a réplica secundária.

Através da combinação do poderoso recurso Always On do Microsoft SQL Server e da configuração de Read-Only Routing, foi possível alcançar um ambiente altamente disponível, capaz de lidar com cargas de leitura intensas e oferecer uma experiência de usuário excepcional.