Por que cada vez mais empresas estão abandonando o SQL Server e como fazer essa transição com segurança
Introdução
Se você utiliza o TOTVS Protheus como ERP da sua empresa, provavelmente já sentiu no bolso o peso do licenciamento do Microsoft SQL Server. A cada renovação, a conta chega mais salgada — e a pergunta inevitável surge: existe alternativa?
A resposta é sim. O PostgreSQL, banco de dados open-source que vem conquistando o mercado corporativo, é totalmente homologado pela TOTVS para uso com o Protheus. E a migração, embora exija planejamento, pode representar uma economia significativa no orçamento de TI da sua empresa.
Neste artigo, vamos explorar por que essa migração faz sentido, quais são os desafios envolvidos e como executá-la de forma segura.
O Elefante na Sala: Os Custos do SQL Server
Vamos falar de números. O licenciamento do SQL Server é vendido por pacotes de 2 cores, com um mínimo obrigatório de 4 cores por servidor. Para ambientes Protheus, que tipicamente rodam em servidores de 2, 4 ou 8 cores, os custos de licenciamento ficam assim:
| Cenário | Cores | Pacotes necessários | Custo estimado (SQL Server Standard)* |
|---|---|---|---|
| Pequeno | 2 | 2 (mínimo de 4 cores) | ~R$ 37.500 |
| Médio | 4 | 2 | ~R$ 37.500 |
| Maior | 8 | 4 | ~R$ 75.000 |
Valores aproximados de tabela para SQL Server Standard Edition, convertidos a R$ 5,00/USD. A Enterprise Edition custa aproximadamente R$ 75.600 por pacote de 2 cores.
Pode parecer "pouco" comparado a grandes infraestruturas, mas para uma empresa de médio porte brasileira, R$ 37.500 a R$ 75.000 apenas em licença de banco de dados é um custo relevante — especialmente quando existe uma alternativa gratuita e igualmente capaz.
E não para por aí: além da licença do SQL Server, muitas vezes é necessário o licenciamento do Windows Server para rodá-lo, adicionando mais uma camada de custo.
E o PostgreSQL?
Zero. Custo de licença zero.
O PostgreSQL é distribuído sob a PostgreSQL License, uma licença permissiva similar à MIT/BSD. Você pode rodá-lo em quantos cores e servidores quiser, sem taxas por core, por usuário ou por instância. Pode escalá-lo livremente sem se preocupar com modelos de licenciamento.
Mas o Protheus Suporta PostgreSQL?
Sim, e há bastante tempo. A TOTVS homologa o PostgreSQL como banco de dados para o Protheus. A arquitetura do Protheus utiliza o DBAccess (antigo TOPConnect) como camada intermediária entre a aplicação e o banco de dados, comunicando-se via ODBC. Isso significa que o Protheus não se conecta diretamente ao banco — ele passa pelo DBAccess, que traduz as operações para o SGBD configurado.
Essa arquitetura é justamente o que permite ao Protheus ser compatível com diferentes bancos de dados (SQL Server, Oracle, PostgreSQL, MySQL/MariaDB) sem alterações no código da aplicação.
A TOTVS inclusive disponibiliza documentação específica sobre as configurações de encoding, collation e character type necessárias para o PostgreSQL funcionar corretamente com o Protheus.
A Conta é Simples: Licenciamento
Vamos direto ao ponto. A principal motivação para migrar é eliminar o custo recorrente de licenciamento. Veja a comparação:
| Item | SQL Server | PostgreSQL |
|---|---|---|
| Licença do banco de dados | R$ 37.500 - R$ 75.000+ | Gratuito |
| Licença do sistema operacional | Windows Server necessário | Roda em Linux (gratuito) ou Windows |
| Renovação anual (Software Assurance) | ~25% do valor da licença | Não se aplica |
| Custo por adicionar cores | Novo pacote de licença | Nenhum |
Ao longo de 5 anos, um ambiente Protheus com 4 cores pode gastar mais de R$ 75.000 a R$ 100.000 apenas em licenciamento e renovações do SQL Server. Com PostgreSQL, esse valor é zero.
E se a empresa crescer e precisar de mais cores? Com SQL Server, cada upgrade de hardware significa comprar mais licenças. Com PostgreSQL, você simplesmente escala sem custo adicional de software.
Vantagens Além do Custo
Embora o foco aqui seja a economia com licenciamento, vale mencionar rapidamente outros benefícios:
- Flexibilidade de infraestrutura: rode em Linux, containers Docker ou na nuvem (AWS RDS, Azure Database for PostgreSQL) sem amarras de licenciamento
- Performance competitiva: paralelismo de queries, particionamento nativo e JIT compilation colocam o PostgreSQL no mesmo patamar do SQL Server para cargas transacionais do Protheus
- Comunidade ativa: atualizações constantes, documentação excelente e ecossistema rico de ferramentas open-source
- Sem vendor lock-in: sua empresa não fica refém de políticas de preço de um único fornecedor
Desafios e Pontos de Atenção
Migrar não é simplesmente "copiar e colar" o banco. Existem diferenças importantes que precisam ser tratadas:
Mapeamento de Tipos de Dados
SQL Server e PostgreSQL possuem tipos de dados com nomes e comportamentos diferentes. Por exemplo:
- NVARCHAR → VARCHAR ou TEXT
- DATETIME → TIMESTAMP
- BIT → BOOLEAN
- MONEY → NUMERIC
- UNIQUEIDENTIFIER → UUID
Collation e Encoding
Este é um ponto crítico para o Protheus. O banco PostgreSQL precisa ser criado com as configurações corretas de encoding (geralmente UTF-8) e collation compatíveis com o que o DBAccess espera. Configurações incorretas podem causar problemas de ordenação, busca e caracteres especiais.
Stored Procedures e Functions
Se sua empresa utiliza stored procedures em T-SQL (linguagem do SQL Server), elas precisarão ser reescritas em PL/pgSQL, a linguagem procedural do PostgreSQL. A sintaxe é diferente, especialmente em tratamento de erros, cursores e manipulação de strings.
Configuração do DBAccess
O DBAccess precisa ser reconfigurado para apontar para o PostgreSQL via ODBC. É necessário instalar o driver ODBC do PostgreSQL no servidor do DBAccess e configurar a fonte de dados corretamente.
Índices e Performance Tuning
Os índices do SQL Server não são migrados automaticamente com a mesma eficiência. É importante revisar o plano de índices e ajustar parâmetros do PostgreSQL como shared_buffers, work_mem, effective_cache_size e maintenance_work_mem para o perfil de carga do Protheus.
Passo a Passo da Migração
1. Planejamento e Inventário
- Documente a versão atual do Protheus e do SQL Server
- Identifique customizações, stored procedures e triggers
- Mapeie integrações externas que acessam o banco diretamente
- Defina o ambiente-alvo (on-premises, cloud, containers)
2. Preparação do Ambiente PostgreSQL
- Instale o PostgreSQL na versão homologada pela TOTVS
- Configure encoding, collation e character type conforme documentação TOTVS
- Instale e configure o driver ODBC do PostgreSQL
- Configure o DBAccess para o novo banco
3. Migração dos Dados
- Utilize ferramentas como pgLoader, AWS DMS ou scripts customizados para migrar schema e dados
- Valide o mapeamento de tipos de dados
- Migre índices, constraints e sequences
4. Testes Extensivos
- Execute testes funcionais em todos os módulos do Protheus utilizados
- Teste rotinas críticas: faturamento, fiscal, financeiro, estoque
- Compare performance de queries críticas entre os dois ambientes
- Valide relatórios e consultas customizadas
5. Migração de Stored Procedures (se aplicável)
- Reescreva procedures de T-SQL para PL/pgSQL
- Teste cada procedure individualmente
- Valide resultados comparando com o ambiente SQL Server
6. Go-Live
- Defina uma janela de manutenção
- Faça backup completo do SQL Server
- Execute a migração final dos dados
- Reconfigure o DBAccess em produção
- Monitore intensivamente nas primeiras semanas
Quando NÃO Migrar?
Nem toda empresa deve migrar. Considere manter o SQL Server se:
- Você utiliza funcionalidades avançadas do ecossistema Microsoft (SSIS, SSRS, SSAS) fortemente integradas ao seu ambiente
- O contrato de licenciamento atual tem condições muito vantajosas
- O ambiente é pequeno e utiliza SQL Server Express (gratuito até 10GB)
- Não há janela de manutenção viável para a migração no curto prazo
Conclusão
A migração do SQL Server para PostgreSQL no Protheus é, antes de tudo, uma decisão financeira inteligente. Estamos falando de eliminar um custo recorrente de licenciamento que, ao longo dos anos, representa dezenas de milhares de reais — dinheiro que pode ser reinvestido em outras áreas da empresa.
O Protheus já está preparado para essa mudança. A arquitetura com DBAccess foi desenhada justamente para permitir essa flexibilidade. O que falta é planejamento, execução cuidadosa e, principalmente, a coragem de questionar o status quo.
Se o custo do SQL Server está pesando no orçamento da sua TI, talvez seja hora de dar uma chance ao elefante azul do PostgreSQL. 🐘
Tem dúvidas sobre migração de banco de dados para o seu Protheus? Entre em contato conosco e vamos avaliar juntos o melhor caminho para a sua empresa.


